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