teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

ちょっと訂正

2018/04/11 10:02

投稿

退会済みユーザー
answer CHANGED
@@ -4,8 +4,8 @@
4
4
 
5
5
  function setUp(){} が実行されて、
6
6
 
7
- var count = 0; で、カウンタが初期化されますが、var宣言した変数のスコープはグローバなのでずっと保持されます。
7
+ var count = 0; で、カウンタが初期化されますが、function内でvar宣言した変数のスコープはfunctionレベルでずっと保持されます。
8
8
 
9
9
  そして return で function(){ return (count += 1); } が返され、これが next に代入されます。
10
10
 
11
- 以下、next(); を実行すると function(){ return (count += 1); } が実行され、グローバルスコープの count について、参照と加算がされます。
11
+ 以下、next(); を実行すると function(){ return (count += 1); } が実行され、functionとしてのスコープの count について、参照と加算がされます。

1

補足

2018/04/11 10:02

投稿

退会済みユーザー
answer CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  function setUp(){} が実行されて、
6
6
 
7
- var count = 0; で、カウンタが初期化されますが、varのスコープはグローバルなのでずっと保持されます。
7
+ var count = 0; で、カウンタが初期化されますが、var宣言した変数のスコープはグローバルなのでずっと保持されます。
8
8
 
9
9
  そして return で function(){ return (count += 1); } が返され、これが next に代入されます。
10
10