javascript中的自增与自减

一直都对自增与自减的执行顺序有点糊涂,今天查了资料,来总结一下

a++(a--),就是指当时计算a,当下一次使用这个变量的时候才执行++或者--

++a(--a),就是指当时就计算++或者--

例1:

var c =1;
var b = (c++)+c;
alert(b);//3

此时就是,先计算c++,因为表达式中,还存在一个c,所以此时(暂时将c++看成整体a)a = 1,此后c立即增1即a=2,接着计算第二个c=1,

然后将a+c的值3赋给b

例2:

var c =1;
var b = (++c)+(++c);
alert(b);//5

此时,先计算++c=2,所以第二个c=2,然后第二个c再自增++c=3,然后执行2+3的值5赋值给b

例3:

var c =1;
var b = (c++)+3;
alert(b);//4

此时,显示计算c++的值为1,然后执行1+3=4赋值给b,因为没有第二次使用c,所以答案是4而不是5;

例4:

var c =1;
var b = (c++)+(c++);
alert(b);//3

alert(c);//3

此时就是,先计算c++,因为表达式中,还存在一个c,当计算第二个c时,第一个c自增1变成2,所以最后的答案是2+1=3,而不是4.

但是当alert(c)的时候,有一次使用了c,所以此时c再次自增1得到3.

 

posted @ 2015-05-19 17:34  猪猪侠女  阅读(486)  评论(0编辑  收藏  举报