在开始之前,先看两个例子:
// a++
var a = 3;
var sum = function(){
return a++;
}
console.log(sum()); //3
//++a
var a = 3;
var sum = function(){
return ++a;
}
console.log(sum()); //4
例: var a = 8, 求 ++a + a++ - --a + a-- + ++a得多少?
不管a++还是++a, a都要自身加1, 但是如果是a++,则返回值为旧值,如果是++a, 则返回值为新值.
++a | a++ | --a | a-- | ++a | |
---|---|---|---|---|---|
旧值 | 8 | 9 | 10 | 9 | 8 |
新值 | 9 | 10 | 9 | 8 | 9 |
返回值 | 9 | 9 | 9 | 8 | 9 |
结果:9+9+9+8+9 = 44