【发布时间】:2017-08-26 19:27:30
【问题描述】:
for(i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},2000)
}
这会在 2 秒后输出 5 个数字 5 次。我明白这一点,但在五个出现之前,他的上方有一个数字。当我再次执行此代码时,它会更改它会将 5 添加到他的旧值。它是什么?在控制台上写代码,看看它输出什么然后解释一下它是什么?
【问题讨论】:
-
屏幕截图或至少从您的控制台粘贴将有助于澄清您的问题。
-
@Bergi - 这是一个单独的 for 循环...只需将其粘贴到您自己的控制台中。
-
也忘了
var i; -
@Bergi - 这就是他的问题的本质。事实上,在 setTimeout 的输出上方会出现一个随机数。他的问题实际上是“这个数字是多少?”。如果他不知道数字是多少,他应该如何更具描述性?
-
@Bergi 这是截图
标签: javascript for-loop console settimeout