无限循环显然很棘手。

时间:2017-02-27 16:45:36

标签: javascript loops for-loop

我再来一次。这显然是我知道如何学习的唯一方式。我正在做的是做一个for循环。是。这么简单。然而,我“ ”他们有问题。或多或少是无限循环的问题。我需要做的是制作一个从10 ... 0倒数的循环。对你们中的一些人来说似乎很容易。是的,我非常清楚。我只不过是一个学生学习。

这是我的代码:

       for (var i = 11; i >= 1; i++) {
    console.log(i);
    }

我在这一点上陷入困​​境。它所做的只是每次都崩溃我的浏览器。非常感谢帮助。我希望彻底解释我做错了什么,我应该做什么,以及为什么我可能做得比你需要的更难。谢谢!

4 个答案:

答案 0 :(得分:1)

对于从10运行到0的循环,迭代器i应该在每次迭代中递减。但是你正在增加它,所以for loop永远不会终止。



for (var i = 10; i>=0; i--) {
  console.log(i);
}




答案 1 :(得分:0)

变量i从11开始,然后每个循环递增1。由于条件是i> = 1,因此它永远不会结束。你需要改变它,以便每个循环递减一次,如下所示:

for (var i= 11; i>=1; i--){

答案 2 :(得分:0)

每个人都学得不同!在这种情况下,您要求代码使用++语法递增(也称为添加)。因此,如果i = 1,则i++ i = 2之后。类似地,i--i递减(又减去)。

现在,循环的前两部分检查i的值并继续操作。在你的情况下,你问的是程序set i equal to 10. If i is greater than 1, add 1 to it.这就是你得到无限循环的地方因为i总是大于1.你想要的是什么。 for (var i = 10; i >= 0; i--) {//code here};

您还可以查看whiledo/while循环。

答案 3 :(得分:0)

首先,您需要了解增量和减量之间的差异。 增量意味着为您的变量添加特定值 另一方面,减量意味着将变量的值减少一些特定的数字。

现在,在您的情况下,i++表示您在循环的每次迭代中向变量1添加i,而在结束循环时,您已将条件设置为{{1} }

这导致无限循环导致浏览器崩溃,因为i>=1永远不会等于i1永远不会是真的,因为每次迭代都会{{1}增加了i>=1个数字,所以它会继续执行,直到你的浏览器崩溃。

您正在寻找的是:

i

现在1将从for (var i = 10; i >= 0; i--) { console.log(i); } 开始  并逐渐减少到i,你的循环将结束。

希望它解释一下。