【发布时间】:2019-10-05 06:40:48
【问题描述】:
考虑下面的代码
var fs = [];
for(var i=0;i<10;i++){
fs.push(i => console.log(i));
}
fs.forEach( f => f());
如果函数改为:
for(let i=0;i<10;i++){
fs.push(function(){
console.log(i)
});
}
它将打印 1,2,3,4,5,6,7,8,9 的预期输出。
我不明白为什么。有人可以帮忙吗?
【问题讨论】:
标签: javascript arrays function loops ecmascript-6