Answers:
与其他语言相同:
++x
(pre-increment)表示“增加变量;表达式的值是最终值”x++
(后递增)表示“记住原始值,然后递增变量;表达式的值为原始值”现在,当用作独立语句时,它们的含义相同:
x++;
++x;
当您在其他地方使用表达式的值时,就会出现区别。例如:
x = 0;
y = array[x++]; // This will get array[0]
x = 0;
y = array[++x]; // This will get array[1]
+ 1
而不是它会是什么样++
?加数之前或之后是否有增加方法?
x
以10开始,则值r1
是21,即10 + 11。所述第一的值x++
表达是10和x
被递增到11第二的值x++
表达为11,x
被递增到12
据我了解,如果您单独使用它们,它们会做同样的事情。如果尝试将它们的结果作为表达式输出,则它们可能会有所不同。尝试将alert(i ++)与alert(++ i)进行比较,以了解区别。i ++在加法之前对i求值,而++ i在评估前进行加法。
有关示例,请参见http://jsfiddle.net/xaDC4/。
我对理解增量后和增量前的解释。所以我把它放在这里。
让分配0
给x
let x = 0;
让我们从后增量开始
console.log(x++); // Outputs 0
为什么?
让我们分解一下x++
表情
x = x;
x = x + 1;
第一条语句返回的值x
是0
然后,当您x
在任何地方使用变量时,第二条语句将被执行
第二条语句返回该x + 1
表达式的值,即(0 + 1) = 1
请记住x
在此状态下的值是1
现在让我们从预增量开始
console.log(++x); // Outputs 2
为什么?
让我们分解一下++x
表情
x = x + 1;
x = x;
第一条语句返回此值 x + 1
表达式,即(1 + 1) = 2
第二条语句返回的值x
是2
这样x = 2
因而回报2
希望这可以帮助您了解什么是后增量和前增量!