我想将值 var i 递减2,但我陷入无限循环。
for(var i=10;i>=0;i-2){
console.log(i);
}
我发现下面给出的代码正在运行,但上面的代码出了什么问题。
for(var i=10;i>=0;i-=2){
console.log(i);
}
答案 0 :(得分:1)
分解for循环中发生的事情有助于解释这一点。
i = 10
被称为i-=2
这是i = i - 2
的简写
(错误的代码i-2
永远不会用新值指定i
然后它会检查for循环中间的条件。i >= 0
答案 1 :(得分:0)
但是上面的代码出了什么问题。
因为i-2
实际上根本没有递减值,所以i
的值永远不会在循环中发生变化而且i >=0
永远不会失败,这就是循环永远不会结束的原因。 / p>
答案 2 :(得分:0)
在上面的代码中,循环增量器只是计算i-2
是什么。它永远不会将结果返回 i 。
答案 3 :(得分:0)
第一个代码将i设置为8(可能),但在此之后永远不会改变。没有任何影响(i ++或减少i--或两者的任何变化)