回答編集履歴
3
表現の修正
test
CHANGED
@@ -24,4 +24,4 @@
|
|
24
24
|
|
25
25
|
ここで引き渡されたthisは(その括弧の中では)未定義なので、this.div.addEventListener('click',(function(i){})(this),false);これの外まで探索され、そこにあるthisが参照されます。
|
26
26
|
|
27
|
-
該当
|
27
|
+
「該当範囲に変数が無くても、外側にあるならばそれが使用される」のがクロージャーの特徴という主旨の記事なんじゃないかと思います。
|
2
修正
test
CHANGED
@@ -22,6 +22,6 @@
|
|
22
22
|
|
23
23
|
「javascript 即時実行 引数」あたりでGoogle検索するとそれらしい記事がhitすると思います。
|
24
24
|
|
25
|
-
ここで引き渡されたthisはthis.div.addEventListener('click',(function(i){})(this),false);これの外まで探索され、そこにあるthisが参照されます。
|
25
|
+
ここで引き渡されたthisは(その括弧の中では)未定義なので、this.div.addEventListener('click',(function(i){})(this),false);これの外まで探索され、そこにあるthisが参照されます。
|
26
26
|
|
27
|
-
無い
|
27
|
+
該当スコープに変数が無い場合、外のスコープにあるならばそれが使用されるのがクロージャーの特徴という主旨の記事なんじゃないでしょうか?
|
1
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
###質問1への関して
|
2
2
|
|
3
3
|
> this.div = document.createElement("div");
|
4
4
|
|
@@ -12,13 +12,15 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
|
15
|
+
###質問2に関して
|
16
16
|
|
17
17
|
(function(i){})(this)
|
18
18
|
|
19
19
|
こういう構造になっています。functionを括弧で包むとその関数はそこで即時実行されます。
|
20
20
|
|
21
|
-
括弧内の値は関数への引数に
|
21
|
+
後方の括弧内の値は関数への引数に対応します。
|
22
|
+
|
23
|
+
「javascript 即時実行 引数」あたりでGoogle検索するとそれらしい記事がhitすると思います。
|
22
24
|
|
23
25
|
ここで引き渡されたthisはthis.div.addEventListener('click',(function(i){})(this),false);これの外まで探索され、そこにあるthisが参照されます。
|
24
26
|
|