84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
匿名関数 function(){return i;} は実行されないため、ここでの i は未定義で、arr を返すと、getNum[0]( ) に格納された function(){return i;} になります。上記の for (var i = 0, arr=[];i<3;i++){} が実行されるとき、i=3; したがって getNum[0](),getNum[1](),getNum[2 ] () は 3 をすべて出力します。
これで、クロージャの問題も同じように解決されます
i はペリフェラル変数なので、呼び出し時にのみ見つかります。 そしてそれを呼び出すと、ループは終了し、i の値はすでに 3 なので、3 しか取得できません
りー
ドメイン定義の問題
var が let に変更されました
匿名関数 function(){return i;} は実行されないため、ここでの i は未定義で、arr を返すと、getNum[0]( ) に格納された function(){return i;} になります。上記の for (var i = 0, arr=[];i<3;i++){} が実行されるとき、i=3; したがって getNum[0](),getNum[1](),getNum[2 ] () は 3 をすべて出力します。
これで、クロージャの問題も同じように解決されます
リーリーi はペリフェラル変数なので、呼び出し時にのみ見つかります。
そしてそれを呼び出すと、ループは終了し、i の値はすでに 3 なので、3 しか取得できません
ドメイン定義の問題
var が let に変更されました