a++与++a的区别
a++是运算后自增,而++a是先自增在运算(即++a 先自加再取值,a++先取值在自加)
相同点:
a++和++a中, a的值自增1,也就是a=a+1;
不同点:
a++ : 把(a++)作为一个整体表达式,a 的值虽然自增1,但是整个表达式的值是取 a自增 之前 的值;
++a : 也把(++a)作为一个整体表达式,a 的值也自增1,但是整个表达式的值是取 a 自增 之后 的值。
看实例:
m=a++ 相当于 m=a,a=a+1
m=++a 相当于 a=a+1,m=a 这种自加运算和自减运算,都相当于两步骤
总结: a++ 是先把 a 赋值,然后自己加一, ++a,是先自己加一,然后再把 a 赋值。
举个栗子:
var a = 10,
b = 20,
c = 30;
++a;
console.log(a); //11
a++;
console.log(a); //12
e = ++a + (++b) + (c++) + a++; // 13+21+30+13
alert(e); //77