<分区>
我有这样的代码:
var a = [];
for(var i = 0; i < 10; i++) {
a[i] = function() {
console.log(i);
}
}
不幸的是,i
似乎是通过引用传递的,因此a
中的所有函数都输出10。如何使每个函数都输出值i
是在创建时拥有的吗? IE。 a[0]()
给出 0,a[1]()
给出 1,等等。
编辑:澄清一下,我不希望a
存储值0-9。我希望 a
存储返回值 0-9 的函数。