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

原文地址:https://www.cnblogs.com/tantry/p/4349753.html