为什么我有一个无限循环

Why do I have an infinite loop?

本文关键字:无限循环 有一个 为什么      更新时间:2023-09-26

我正在学习javascript,我不明白为什么这段代码会创建一个无限循环。

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

如果我像分配i = i + 12一样分配i,那么一切都会正常工作。请解释一下这里发生了什么。

您将了解到JavaScript会做一些不稳定和有问题的事情。。。

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

不管怎样,你所做的并不是把我增加12,所以它会继续循环,因为我从来没有真正增加过。

运算符+=应该起作用,因为它将取i的前一个值,并将其加12。

您需要i += 12来执行赋值,而不仅仅是i + 12(这是一个普通表达式)。

因为i+12不会increment and storei中的增量值。所以i的值总是8。Wheras i=i+12将该值递增并存储在CCD_ 11中,并且当CCD_。

您需要使用i+=12查看JavaScript 的运算符

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