【问题标题】:difference between a++ and ++a in while loop [duplicate]while循环中a++和++a之间的区别[重复]
【发布时间】:2016-11-11 04:59:17
【问题描述】:

我想弄清楚,当我在 while 循环中使用 a++ 与 ++a 时,为什么会得到不同的结果?我知道它们是后缀和前缀操作,但仍然不明白为什么我会得到我得到的结果

var a = 1;
 while (a < 3) {  
   console.log(a); 
   a++;

}

i ger 结果: 1, 2, 2 ,当使用 ++a 而不是 a++ 时,我得到不同的结果。

 var a = 1;
 while (a < 3) {  
       console.log(a); 
       ++a;
  }

在这种情况下,我得到 1,2,3。 有人可以逐步解释操作顺序以及为什么我会得到我得到的输出吗?

【问题讨论】:

  • 如果您在控制台中运行它,您只会得到 1,2,2 或 1,2,3 - 在控制台之外,两者都只会输出 1,2 - 运行此 @ 时检查控制台987654323@
  • 您在控制台中看到的最后一个数字是最后一次操作的“结果”......所以,第一种情况下为 2(因为后增量),而 3(因为前增量)在第二个中 - 如果您在 } 之后添加一行,仅使用 a; - 两者都将显示 1,2,3
  • @JaromandaX 谢谢,现在我明白了。我如何将您的评论标记为正确答案?感谢您的宝贵时间。
  • 这不是答案,所以你不能:p

标签: javascript


【解决方案1】:

如果你在控制台中运行它,你只会得到 1,2,2 或 1,2,3 - 在控制台之外都只会输出 1,2 - 运行这个 fiddle 时检查控制台

在控制台中运行时,您在控制台中看到的最后一个数字是最后一次操作的“结果”......所以,第一种情况下为 2(因为后递增),而 3(因为前递增) 在第二个 -

如果您在 } 之后添加一行,并且只添加一个; - 两者都会显示 1,2,3 - 就像这样

var a = 1;
 while (a < 3) {  
   console.log(a); 
   a++;
}
a;

var a = 1;
while (a < 3) {  
    console.log(a); 
    ++a;
}
a;

表明while循环结束后a是一样的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2017-04-26
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    相关资源
    最近更新 更多