【发布时间】:2014-08-25 22:21:34
【问题描述】:
我刚开始学习 javascript,遇到了我不理解的奇怪行为
所以这正是我所期望的。 0,1,2,3,4
var numberOfPlayers = 5;
for ( i = 0; i < numberOfPlayers; i++ ) {
alert(i);
}
但是当我尝试下面的代码时,我想每 1 秒运行一次函数,我得到 5,5,5,5,5
var numberOfPlayers = 5;
for ( i = 0; i < numberOfPlayers; i++ ) {
setInterval(function () {
alert(i);
}, 1000);
}
谁能向我解释这里实际发生了什么。我希望两部分代码中的数字相同。
【问题讨论】:
-
它实际上警告“5 ... 5 ... 5 ... 5 ...”
-
你确定你得到 5、6、7、8、9... 而不仅仅是 5?
-
是的,对不起,你的权利。这是我很早就做的事情。我会更正这个问题。
标签: javascript