JS一元运算符(前++,后++)详解
来源:华佗健康网
无论是++在后,还是++在前,在单独使用时,两者的值都一样,都会使变量的值自增1。不同的是如果让num++和++num再参与运算,两者的值会不同,num++是先运算,最后再自增,++num是先自增,最后再运算。
具体例子及解析如下,难度层层递进,希望能帮助到大家
1、++在后:
运算规则:先参与运算,再 +1
var num = 10;
// 1.先把 num 的值赋值给 sum, 所以这时候sum是 10
// 2.然后把num再 +1,10+1 变成 11
var sum = num++
console,log(num,sum) // 11 10
var num = 10
// 1.参与运算 sum = 10 + 10
// 2. num自身 +1
var sum = num++ + 10
console.log(sum,num) // 20 11
var num = 1
// num++ 参与运算,即 sum = 1 + num++,
// 虽然第一个num++先参与运算,但内存中num已经是2了,即运算应为 sum = 1 + 2++,
// 第二个num++,即 2++ 再次参与运算 最终 sum = 1 + 2 = 3
// 第二个num++,即2++,自 +1 ,组中num值为3
var sum = num++ + num++
console.log(sum,num) // 3 3
2、++在前
运算规则:先自+1,再参与运算
var num = 10;
// 1.num先自身 +1,10+1结果就是11
// 2.再把 num 的值赋值给 sum,相当于把 11 赋值给了 sum
var sum = ++num
console,log(num,sum) // 11 11
var num = 10
// 1. num先自身 +1 ,10+1=11,即num为11
// 2. 参与运算 11+10=21,即sum为21
var sum = ++num + 10
console.log(sum,num) // 21 11
var num = 1
// 1. 第一个++num,num先自身+1 ,此时num值为2,再经过第二个++num,即2+1=3,最终num值为3
// 2. 参与运算 sum = 2 + 3 = 5
var sum = ++num + ++num
console.log(sum,num) // 5 3
3.综合练习
var num = 1
// 第一个++num 此时num先自 +1,即sum = 2 + num++
// 第二个num++ num先参与运算 即 sum = 2 + 2++ = 2 + 2 =4
// 最后num++再自 +1,即2++,最终num值为 3
var sum = ++num + num++
console.log(sum,num) // 4 3
var num = 1
// 第一个 ++num,先自 +1,即 sum = 2 + ++num + num++ + ++num,此时num值为 2
// 第二个 ++num, 再次自 + 1,即sum = 2 + 3 + num++ + ++num ,此时num值为 3
// 第三个 num++,num先参与运算,即 sum = 2 + 3 + 3 + ++num,此时虽说num先参与运算,值是3不变,但在内存中,经厉 num++ 后,内存中的num值为4
// 第四个++num,但内存中的num值为4,所以自 +1,最终num的值为 5. sum = 2 + 3 + 3 + 5 = 13
var sum = ++num + ++num + num++ + ++num
console.log(sum,num) // 13 5
因篇幅问题不能全部显示,请点此查看更多更全内容