[英]How do JavaScript for-loop work with a variable
我是 JavaScript 的新手,有些东西我很难理解……
for(var i = 0; i < 3; i++) {
console.log(i)
}
console.log(i);
这是一段代码,当我看到这个时,我马上就认为输出会是这样的,
//0
//1
//2
//2
由于 for 循环最多计数 2 并将变量保留为 2,我认为如果我在 for 循环之后将其注销,output 将为 2。 但是 output 与我的预期不同..(而不是 2,当它在 for 循环之后记录时会吐出 3)
//0
//1
//2
//3
我阅读了几篇文章,他们确实解释了变量的 scope 是全局的,但我仍然不明白为什么我得到 3 作为 output。
(我读过的一篇文章: https://www.freecodecamp.org/news/thrown-for-a-loop-understanding-for-loops-and-timeouts-in-javascript-558d8255d8a4/ )
非常感谢您的帮助,在此先感谢。
想一想,如果i
是2
那么循环仍然会运行,因为2 < 3
。 在这个循环结束时i = 2
它将使用i++
,因此i
现在是3
。 现在条件失败,因为3 < 3
是假的,所以它退出了。 因此i
仍然是3
。
3
是i
上第一个中止循环的数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.