看看这段代码:
var arr = new Array();
for (var i = 0; i < 10; i++) {
arr[i] = {
func:function() {
console.log(i);
}
}
}
arr[0].func();
我对此感到困惑,因为我认为这会起作用。我基本上希望数组中的每个对象都打印创建函数时给出的值。
现在当我打电话时func()
,它会在控制台中打印 10 。有没有办法让它打印出来0, 1, 2, 3, 4, 5, 6, 7, 8, 9
?谢谢!