【发布时间】:2010-12-07 11:44:56
【问题描述】:
我的一些 JavaScript 代码有问题。
脚本
setTimeout(function() {
for (var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i);
}, i * 200);
}
}, 200);
输出
5、5、5、5、5 而不是 1、2、3、4、5
我可以理解为什么这不起作用,但我想知道是否有人可以向我解释发生了什么以及为什么它不起作用!
另外,如何解决这个范围问题?
【问题讨论】:
标签: javascript loops closures scope