好程序员web前端教程分享初学者搞懂i++和++i
刚学习前端的同学,在学到++运算符的时候,都是一脸的懵
var k = 10;
console.log(k++ + ++k + k++) //34
var i = 10;
console.log(++i + i++ + ++i) //35
console.log(i++ + ++i + i++) //43
***way???为什么?为什么?为什么?***
下面我们一步一步的来看:
>1、 var i = 10;
>
>2 、i++; //等价于i=i+1
3 、console.log(i); //11
###++可以与输出语句写在一起,++写在变量前和写在变量后不是一个意思
>i++ : 先用a的原值,然后i加1;
>++i :先给a加1,然后用i的新值
```
1、 var i = 10;
2 、console.log(i++); //10 ,先引用原值,然后加1
等价于:
1 、 var i= 10;
2、 console.log(i); //先输出i
3、 i++; //然后f加i
```
区别于:
```
1、 var i = 10;
2、 console.log(++i); //11 , 这次是先加1,然后输出
```
++有点意思的玩法:
```
1 var i = 8;
2 console.log(4 + i++); //12 , 先使用原来的a的值,就是4+8,输出12.然后a加1
3 console.log(i); //9
4 console.log(++i % 5); //0 , 先把i加1,然后使用i,10%5=0
5 console.log(i); //10
```
```
1 var a = 1; //a的值1
2 var b = a++; //b的值是1,a的值是2 。++写在后面,是先用再加
3 a += ++b; //先把b加1,b就是2了,a原来是2,加上2,就是4
4 console.log(a); //4
console.log(b); //2
```
```
1 var a = 3; //a的值是3
2 console.log(a++ + a++); //计算从左到右的,所以第一次a++时用的是3,a变为4。
3 //第二次遇见a++的时候,a用的是4,变为5
4 //3 + 4 所以输出7
console.log(a); //输出5
```
```
1 var a = 3;
2 console.log(a++ + ++a); //8
console.log(a); //5
```
总结:
其实++运算符非常的简单,只要你记住一句口诀:++在前下自加后运算;++在后先运算后自加;然后在细心点就好了