当前位置:网站首页>js 前置型和后置型递增、递减的关系

js 前置型和后置型递增、递减的关系

2020-12-07 12:40:30 ayanamirei0

本文讨论限于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

看出来区别了吗,其实区别就在于:

执行前置递增和递减操作时,变量的值都是**在语句被求值以前**改变的,而执行后置型递增和递减操作时,变量的值都是**在语句被求值以后**改变的。

版权声明
本文为[ayanamirei0]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000038397540