我正在学习javascript而且我不明白为什么这段代码会产生无限循环。
for (var i = 8 ; i < 120; i+12) {
console.log(i * 1);
}
如果我对i
i = i + 12
进行分配,那么一切都应该如此。请解释这里发生了什么。
答案 0 :(得分:2)
你会发现JavaScript做了一些不可思议和有问题的事情......
我从未见过使用for循环设置的参数的用例,但我假设您知道默认值。
无论如何,你所做的不是增加12,所以它将继续循环,因为我从未实际增加。
运算符+ =应该这样做,因为它将采用i的先前值,并向其添加12。
答案 1 :(得分:1)
您需要i += 12
来执行作业,而不仅仅是i + 12
(这是一个简单的表达式)。
答案 2 :(得分:1)
因为i+12
在increment 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);
}