为什么我有无限循环?

时间:2014-11-12 01:14:06

标签: javascript

我正在学习javascript而且我不明白为什么这段代码会产生无限循环。

for (var i = 8 ; i < 120; i+12) {
    console.log(i * 1);
}

如果我对i i = i + 12进行分配,那么一切都应该如此。请解释这里发生了什么。

4 个答案:

答案 0 :(得分:2)

你会发现JavaScript做了一些不可思议和有问题的事情......

我从未见过使用for循环设置的参数的用例,但我假设您知道默认值。

无论如何,你所做的不是增加12,所以它将继续循环,因为我从未实际增加。

运算符+ =应该这样做,因为它将采用i的先前值,并向其添加12。

答案 1 :(得分:1)

您需要i += 12来执行作业,而不仅仅是i + 12(这是一个简单的表达式)。

答案 2 :(得分:1)

因为i+12increment and store中的增加值 i。因此i的值始终为8。 Wheras i=i+12递增并将值存储在i中,循环在i >= 120时终止。

答案 3 :(得分:1)

您需要使用i+=12查看JavaScript的operators

for (var i = 8 ; i < 120; i +=12) {
    console.log(i * 1);
}