var funcList = [];
for(var i=0; i<3; i++) {
funcList.push((function() {
return function() { console.log(i) }; // 此时引用全局变量i
})());
}
for(var j=0; j<3; j++){
funcList[j]();
}
输出结果:3 3 3
var funcList = [];
for(var i=0; i<3; i++) {
funcList.push((function(a) {
return function() { console.log(a) }; // 此时引用局部变量a
})(i));
}
for(var j=0; j<3; j++){
funcList[j]();
}
输出结果:0 1 2