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
posted @ 2019-09-23 09:50  是船长啊  阅读(4726)  评论(0编辑  收藏  举报