在js中,如果要将某一变量加1,可以使用自增运算符即“++”,其可以写在定义的变量的前方或后方,分别可以称作前置自增和后置自增,两种方式所达成的效果是相同的。
如
let num = 1
console.log(num++) //2
或者
let num = 1
console.log(++num) //2
两种方式最后打印出的结果都是“2”。
但是当带有自增运算符的变量参与运算时,两种写法便存在区别。
自增运算符在变量的前方时即“++num”,在运算中是先加1,再进行后续运算。
let num = 5
console.log(++num / 3) //2
// 6 / 3 = 2
自增运算符在变量的后方时即“num++”,在运算中是先进行运算,再进行加1。
let num = 6
console.log(num++ / 3 + num) //9
// 6 / 3 + 7 = 9
值得一提的是后置自增在遇到运算符后就已经完成了自增,此时再调用变量是其自增后的值。
二者混合运算时遵循以上规律:
let num = 3
console.log(num++ + ++num + num++ + 2)
// 3 + 5 + 5 + 2 = 15
在同一列式中多次自增时,变量会继承前值,而不会重新以变量的初始值进行自增。