本文讨论限于js
之前关于js里面前置型递增、递减的关系一直搞不清楚,说到这里可能会有好多人对这两个词陌生,我换个说法,后置型递增(i++),前置型递增(++i)。举一反三,递减也一样。以下均已递增为例。
其实后置型跟前置型的区别在于操作符所在的语句,也就是所在的语句只有单纯的递增或递减操作。返回结果是没有区别的,例如:
let num1 = 0;
let num2 = 0;
num1++;
++num2;
console.log(num1); //输出结果1
console.log(num2); //输出结果1
但是当包含他们的语句还有其他操作的时候,情况就不一样了,例如:
let num1 = 2;
let num2 = 3;
let num3 = 2
let num4 = num2 + num1++;
let num5 = num2 + ++num3;
console.log(num4); //输出5
console.log(num5); //输出6
看出来区别了吗,其实区别就在于:
执行前置递增和递减操作时,变量的值都是**在语句被求值以前**改变的,而执行后置型递增和递减操作时,变量的值都是**在语句被求值以后**改变的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。