誰かがJavaScriptの謎を解きほぐしてくれますか?JavaScript - 関数を呼び出さずに関数内に変数を保存する
は、次のJavaScriptコードを考えてみましょう:
var a[];
for (i=0;i<10;i++)
{
a[i] = function(){alert ("I am " + i);};
}
a[5]();
今、明らかに、最後の行は、アラートがi
の値であるため、「私は午前5時」「私は午前9時」、そしてない読まようになります9ループはfor
ループの最後にあります。
アラートに、「想定されているもの」を出力したいが、配列から関数を呼び出す方法を変更しないで、つまりパラメータはない。
ヒント:別の関数を呼び出す関数を定義してみてください。
助けてください! :-)
エレガントで良いコメントも下に説明! +1 –