i++和++i的区别

i++是先赋值,再自加
++i是先自加,再赋值

++i的结果i=i+1; (++i)这个表达式的值也是i+1()
i++的结果i=i+1; (i++)这个表达式的值是i

 

var a=12;

console.log(5+(++a)+(a++));                      [(++a)=13  a++=13    此时输出a是14(a++=13+1  所以是14) 5+13+13=31

console.log(5+(a++)+(++a)+(a++));           [ a++=14   ++a=15+1=16  a++=16   (赋值完了再加1  所以a=17) 5+14+16+16=51   ]

console.log(a);                                           [a=17]

 

 

 

所以结果是  31   51  17

posted on 2015-03-19 10:50  小怪兽打得过奥特曼  阅读(148)  评论(0编辑  收藏  举报