js中++i和i++区别(前置++和后置++)

++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的值是?

你可能感兴趣的:(js中++i和i++区别(前置++和后置++))