'对于'循环和模数

时间:2016-06-14 22:49:15

标签: javascript loops modulo

我刚刚开始学习JS,而且我在理解' for'背后的基础知识方面遇到了一些麻烦。循环。

示例:

for (var number = 3; number % 7 == 0; number++) 

为什么它没有意义?为什么我必须这样写下来:

for (var number = 3; ; number++) {
  if (number % 7 == 0)
    break; 
}

谢谢你的帮助!

1 个答案:

答案 0 :(得分:4)

你已经改变了这个状况。 for循环的中间部分告诉您循环继续必须是什么。您的第二个版本使用相同的条件来决定何时停止。

for (A; B; C) { ... }

可以(大部分)重写为

A;
while (B) {
    ...
    C;
}

(区别在于continue循环中的for仍会执行C部分。)

最初你的number是3.然后我们做相当于while (number % 7 == 0) { ... },但是那个条件失败(3 % 7是3,而不是0),所以循环永远不会运行。

你可能想要

for (var number = 3; number % 7 != 0; number++)