(javaScript)值进出'for循环'

我是 javaSCript 的初学者,只是想知道为什么当它被称为“内部”循环和“外部”循环时结果会有所不同。


for (var i = 0; i < 5; i++) {

console.log(i);

// prints 0 1 2 3 4 

}


console.log(i);

// prints 0 1 2 3 4 5


弑天下
浏览 81回答 3
3回答

三国纷争

因为for循环步骤是:1 -定义一个变量,2 -检查条件,3-运行循环内的代码,4 -并将循环变量值增加 1,但!在定义变量后和第一个循环之后,它会忽略第一个参数var i = 0并将循环变量加 1,并检查条件,为什么?因为在for循环中,最后要做的就是将循环变量加1,所以最后一个循环将循环变量增加1并检查条件,简单地说:变量已通过循环更改为 5,因为在第一个循环之后它将变量增加 1 并检查条件希望我的回答对你有用!

白衣非少年

在循环内部,它记录从0到的数字4。最后一个i++设置i为5,循环停止,因为i < 5不再为真。然后console.log(i)after 循环记录这个值。

潇潇雨雨

这就是 var 在 JS 中的工作方式,也是所有语言中 for 循环的工作方式。当您使用 var 关键字声明变量时,它被提升到函数范围,或者如果不在函数内部,则为全局。这使您可以在 for 循环范围之外访问 var。尝试将 var 更改为 let 看看会发生什么。其次,由于您的条件,您没有在 for 循环中看到 5 打印i < 5。i++导致“i”从 4 变为 5,这打破了 for 循环条件,并且不打印“i”。最后 for 循环外的 console.log(i) 应该只打印 5 因为那是 i 在那个点的值而不是console.log(i);// prints 0 1 2 3 4 5// should print 5&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript