JavaScript中a++和a--的区别和注意点

235 阅读1分钟

一、概念

   ++是一个“自增运算符”,自增运算符有两种形式:前缀自增(++a)和后缀自增(a++)

二、区别

1、赋值顺序不同:

 b=a++; 会先把a的值赋给b,在进行自增加1的运算,即先赋值,再自增
 c=++a; a先会进行自增加1,然后把自增加1后的结果赋值给c,即先自增,再赋值

2、计算过程中传递的值不同:

a=10;
console.log(a++); //此时输出a的值为10;

a=10;
console.log(++a); //此时输出a的值为11

可以看到,上述例子中,控制台输出(a++)的结果是10,因为a++是一个先传递值,在进行自增的过程。而++a是先自增,再传递值的过程。

三、共同点

1、计算过程中,二者均会导致a的值发生变化:

a=10;
b=a++;  //b=10,a=11
c=++a;   //c=12,a=12 
console.log(b,c,a) ; //10;12,12

a=10;
console(a++); //10
cpnsole(a);  //11

四、计算题

let a=1;a++;a++;++a;++a; //a=1+1+1+1+1=5
let b=++a;++b;         // b=a+1=6,a=6;b=b+1=7;
console.log(a);        // 6
console.log(b);        // 7 


小伙伴们快来计算一下吧

五、a--,--a同理

 a = 10;
 console.log(a--); //10
 console.log(a);   //9

 a=10;
 console.log(--a); //9
 console.log(a);   //9