无限循环减2

时间:2016-05-24 05:33:02

标签: javascript

我想将值 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);
}

4 个答案:

答案 0 :(得分:1)

分解for循环中发生的事情有助于解释这一点。

  1. 迭代var i = 10被称为
  2. 迭代运行i-=2这是i = i - 2的简写 (错误的代码i-2永远不会用新值指定i 然后它会检查for循环中间的条件。
  3. 与第二名相同 ... 直到i >= 0

答案 1 :(得分:0)

  

但是上面的代码出了什么问题。

因为i-2实际上根本没有递减值,所以i的值永远不会在循环中发生变化而且i >=0永远不会失败,这就是循环永远不会结束的原因。 / p>

答案 2 :(得分:0)

在上面的代码中,循环增量器只是计算i-2是什么。它永远不会结果返回 i

答案 3 :(得分:0)

第一个代码将i设置为8(可能),但在此之后永远不会改变。没有任何影响(i ++或减少i--或两者的任何变化)