我正在 CodeAcademy 上做一个项目,这部分需要一个 for 语句。这是我的代码:
for(i = 1; i <= 20; i++)
console.log(i);
基本上,我只是想知道,既然第二个条件“ i <=20
”告诉它何时停止重复代码,为什么它不立即停止。因为 1 小于 20。
我认为它应该是i = 20
以及何时i = 20
停止。但情况似乎并非如此。这真的让我很困惑。
我正在 CodeAcademy 上做一个项目,这部分需要一个 for 语句。这是我的代码:
for(i = 1; i <= 20; i++)
console.log(i);
基本上,我只是想知道,既然第二个条件“ i <=20
”告诉它何时停止重复代码,为什么它不立即停止。因为 1 小于 20。
我认为它应该是i = 20
以及何时i = 20
停止。但情况似乎并非如此。这真的让我很困惑。
中间的语句不是告诉什么时候停止循环,而是告诉它什么时候应该继续。只要它的计算结果为真,循环就会重复。
你很困惑,因为你假设第二个参数告诉它何时停止,这是不正确的,它告诉循环运行多长时间,所以在你的情况下,
只要 i 小于或等于 20,它就会告诉循环运行
for
在这里对一个循环进行了很好的总结:
for ( variable = startvalue; variable < endvalue; variable = variable + increment) {
// code to be executed
}
第一部分是循环计数器/索引应该开始的基线。
中间部分是说while 'variable < endvalue' - 继续循环。
variable = variable + increment
写了很多,就像variable++;
保持循环向前一样。随着变量的增加。(当然你可以增加/减少,这完全取决于你想要做什么)。
因为 i 在 i++ 中递增,并且它会发生直到 i++ 达到满足条件 i<=20 的点。
读为
只要 i <=20,就将 i 递增为 i++
为了帮助您阅读for
循环,请考虑始终像这样阅读它们:
for( initialization_expression; termination_expression; increment_expression ) {
statements;
}
所以要“阅读”它,你可以说:
initialization_expression
statements
否则termination_expression
退出increment_expression