++i
var i = 1
var a = ++i
console.log(i) // 2
console.log(a) // 2
i++
var i = 1
var a = i++
console.log(i) // 2
console.log(a) // 1
注释:
- 使用++i(前置++),i先将自身的值自增1,再将自增后的值赋值给变量a
- 使用i++(后置++),i先将自身的值赋值给变量a,然后再自增1
原理
运算符优先级
- ++作为前置递增时,优先级为15,而作为后置递增时,优先级为16
- =作为赋值运算符时,优先级为3
- 所以,++会优先于=而执行
拓展 - 设i=1,a = (i++)+(i++)+(++i),那么a的值是?