好程序员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
```
总结:
其实++ 运算符非常的简单,只要你记住一句口诀: ++ 在前下自加后运算; ++ 在后先运算后自加;然后在细心点就好了
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913892/viewspace-2667354/ ,如需转载,请注明出处,否则将追究法律责任。