var data = [{offset: 2000, str:'foo'}, {offset: 4000, str:'bar'}];
for (var i=0; i<data.length; i++) {
var x = data[i];
setTimeout(function(){printStuff(x.str)}, x.offset);
}
function printStuff(str) {
console.log(str);
}
私はprintStuff('foo')
2000ミリ秒のオフセットとprintStuff('bar')
4000ミリ秒のオフセットで取得することを期待していましたが、代わりに両方の時間で「バー」を出力します。何が起こっているのかわかりません。助けてください。