以前我也是老搞不懂a++和++a的区别, 后来看了很多资料, 终于总结出来一条规律, 小白专用!
看完这个例子就懂了:
例1:$a = 8, 求 ++a + a++ - --a + a-- + ++a得多少?
旧值: 8 9 10 9 8
++a + a++ - --a + a-- + ++a
新值: 9 10 9 8 9
返回值: 9 9 9 8 9
结果就等于: 9+9+9+8+9 = 26,
解释: 不管a++还是++a, a都要自身加以, 但是如果是a++,则返回值为旧值,如果是++a, 则返回值为新值.
所以从表达式的结果为26.
例2:
var a = 3;
var goos = function(){
return a++;
}
console.log(goos());
结果肯定为3;
例3:
var a = 3;
var goos = function(){
return ++a;
}
console.log(goos());
结果肯定为4;
再次解释: 解释: 不管a++还是++a, a都要自身加以, 但是如果是a++,则返回值为旧值,如果是++a, 则返回值为新值.
原创文章,未经允许,不得转载!