为什么会输出10 次10 push进去的不应该是 1 - 9吗 这个坑求大神解答
function save_i(){
var a = [];
for(var i = 0;i<10;i++){
a[i] = function(){
return i;
}
}
return a;
}
var c = save_i();
for(var i = 0;i<10;i++){
console.log(c[i]());
//10次 10
}
只需要在for循环执行时,创建一个闭包函数将i值保存起来,既可以依次输出