我有一个代码: 演示 jsFiddle
which 循环 3 次,每次创建一个返回循环序列号的新函数。
我希望看到循环序列插入到数组:0、1 和 2。
a[i] = function() {
return i;
}
一切看起来都很正常但是当我尝试打印我得到的数组时
结果:
arr[0] is =>function () { return i; }
arr[1] is =>function () { return i; }
arr[2] is =>function () { return i; }
编码:
function f() {
var a = [];
var i;
for (i = 0; i < 3; i++) {
a[i] = function() {
return i;
}
}
return a;
}
var arr = f();
for (var index = 0; index < arr.length; index++) {
document.write("<b>arr[" + index + "] is </b>=>" + arr[index] + "<br>");
}
为什么我没有得到结果0、1 和 2。?
很多谢谢。