JS自增自减

322 阅读1分钟
/**
* 自增自减
*
* 变量名 前 或者 后 写上 ++(--)
*
* var a = 0
* a++
* ++a
*/
// var a = 0
// var b = ++a // 1
// var c = a++ // 1
/**
* ++ 在前, 先运算自增, 然后参与周围表达式
*
* var b = ++a
* 1. 先给 a 自增1, a的值为1
* 2. 参与周围表达式的运算, 把 a 的值 赋值给 变量 b
* console.log(b) // 1
*
* ++ 在后, 先参与周围表达式运算, 然后自增1
* var c = a++
* 1. 把 a 的值直接赋值给 c (此时还未自增, 也就是说 a 的值 为 0)
* 2. a 自增1
*
*/
// console.log(c) // 0
// console.log(a) // 1
var a = 0
// var b = --a
var c = a--
/**
* -- 在前, 先参与自减, 然后参与周围表达式运算
*
* var b = --a
* 1. a 先参与自减, 此时值为 -1
* 2. 把 a 自减后的值, 赋值给 b(此时 b为 -1)
*
* -- 在后, 先参与周围表达是运算, 然后自减
*
* var c = a--
* 1. 先参与周围表达式运算, 也就是把 a 赋值给 c (此时 a 为0, 所以c的值 也是0)
* 2. 然后 a 自减 (此时 a 的值 为 -1)
*/
console.log(c) // 0
console.log(a) // -1