考虑以下Javascript代码:
警报每次都打印“3”。我希望有一个不同的行为——在循环的每次迭代中生成一个函数,该函数打印出i的当前值。也就是说,生成3个打印不同索引的函数。
有什么想法吗?
var a = [];
var f = function() {
for (var i = 0; i < 3; i++) {
a.push(function(){alert(i)});
}
for (var j = 0; j < 3; j++) {
a[j]();
}
};
警报每次都打印“3”。我希望有一个不同的行为——在循环的每次迭代中生成一个函数,该函数打印出i的当前值。也就是说,生成3个打印不同索引的函数。
有什么想法吗?