これが私のジレンマです。
私はコードのこのセクションを持っています:
var list_of_numbers = new Array();
function AddToArray(func)
{
// Add to the *beginning* of the array
// essentially reversing the order
list_of_numbers.unshift(func);
}
function DisplayNumber(num)
{
document.write(num);
}
for(var i=0;i<5;++i)
{
AddToArray(function() { DisplayNumber(i); });
}
for(var i=0;i<5;++i)
{
list_of_numbers[i]();
}
発生するはずのことは、5つのインライン関数が配列に追加されることです-それぞれがのコピーを取りますi
。ただし、これは発生しません。
期待される出力:
43210
実際の出力:
01234