var arr = [];
for(var i=0; i<5; i++){
arr[i] = function(){
return i;
};
}
document.write(arr[1]());
出力は私がVAR、JavaScriptでループ、出力を理解することはできません、エラー
を予想通り、5ですが。 [1]私はその出力が6であるべきである期待される機能
ないARR、しかし:とforループの端部は、以下のコードのように、
var arr = [];
for(var i=0; i<5; i++){
arr[i] = function(){
return i;
};
i++;
}
document.write(arr[1]());
画面がエラー、 捕捉されない例外TypeErrorを示しなぜ私は理解できません。
最初のループの後に「i」が「2」になるようにします。私はいくつかのデバッグツールを使ってあなたの変数を見たり、次回に何が起こっているのかを理解するためにあなたのコードに 'console.log()'を追加することをお勧めします。 – George
インデックスを2、array [0]、array [2]、array [4] ... – dloeda
また、 'arr'内のすべての関数が同じ値を出力することを期待していますか?それが起こります。 – evolutionxbox