++someVariable vs. someVariable++ in JavaScript

2022-08-30 01:40:00

在 JavaScript 中,您可以在变量名称之前(后增量)或之后使用运算符(后增量)。这些递增变量的方式(如果有的话)之间有什么区别?++


答案 1

与其他语言相同:

  • ++x(预增量)表示“增加变量;表达式的值是最终值”
  • x++(后增量)表示“记住原始值,然后递增变量;表达式的值是原始值”

现在,当用作独立语句时,它们的含义相同:

x++;
++x;

当您在其他地方使用表达式的值时,就会出现差异。例如:

x = 0;
y = array[x++]; // This will get array[0]

x = 0;
y = array[++x]; // This will get array[1]

答案 2
  • ++x递增该值,然后计算并存储该值。
  • x++计算该值,然后递增并存储该值。
var n = 0, m = 0;

alert(n++); /* Shows 0, then stores n = 1 */
alert(++m); /* Shows 1, then stores m = 1 */

请注意,在可能的情况下使用会略微提高性能,因为您可以读取变量,对其进行修改,然后对其进行评估和存储。与运算符相比,您可以在其中读取值、计算值、修改值,然后存储值。++xx++