'for' 循环和取模
'for' loop and modulo
我刚开始学习 JS,但在理解 'for' 循环背后的基础知识时遇到了一些困难。
示例:
for (var number = 3; number % 7 == 0; number++)
为什么没有意义?为什么一定要这样写:
for (var number = 3; ; number++) {
if (number % 7 == 0)
break;
}
感谢您的帮助!
你已经颠倒了条件。 for
循环的中间部分告诉您循环继续必须满足的条件。您的第二个版本使用相同的条件来决定何时停止。
for (A; B; C) { ... }
可以(大部分)重写为
A;
while (B) {
...
C;
}
(区别在于 for
循环中的 continue
仍然会执行 C
部分。)
最初你的 number
是 3。然后我们执行 while (number % 7 == 0) { ... }
的等效操作,但该条件失败(3 % 7
是 3,而不是 0),因此循环永远不会运行。
你可能想要
for (var number = 3; number % 7 != 0; number++)
我刚开始学习 JS,但在理解 'for' 循环背后的基础知识时遇到了一些困难。
示例:
for (var number = 3; number % 7 == 0; number++)
为什么没有意义?为什么一定要这样写:
for (var number = 3; ; number++) {
if (number % 7 == 0)
break;
}
感谢您的帮助!
你已经颠倒了条件。 for
循环的中间部分告诉您循环继续必须满足的条件。您的第二个版本使用相同的条件来决定何时停止。
for (A; B; C) { ... }
可以(大部分)重写为
A;
while (B) {
...
C;
}
(区别在于 for
循环中的 continue
仍然会执行 C
部分。)
最初你的 number
是 3。然后我们执行 while (number % 7 == 0) { ... }
的等效操作,但该条件失败(3 % 7
是 3,而不是 0),因此循环永远不会运行。
你可能想要
for (var number = 3; number % 7 != 0; number++)