怪我咯2017-05-19 10:35:04
匿名関数 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 をすべて出力します。
高洛峰2017-05-19 10:35:04
i はペリフェラル変数なので、呼び出し時にのみ見つかります。
そしてそれを呼び出すと、ループは終了し、i の値はすでに 3 なので、3 しか取得できません