当前位置: 首页 / 技术干货 / 正文
初学者搞懂i++和++i

2019-12-06

HTML5 好程序员 HTML5培训 web前端培训

好程序员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

console.log(i); //11

 

###++可以与输出语句写在一起,++写在变量前和写在变量后不是一个意思

 

>i++ : 先用a的原值,然后i1

>++i :先给a1,然后用i的新值

 

```

1 var i = 10;

console.log(i++); //10 ,先引用原值,然后加1

 

等价于:

 

 var i= 10;

2 console.log(i);   //先输出i

3 i++;              //然后fi

```

 区别于:

```

1 var i = 10;

2 console.log(++i);  //11 , 这次是先加1,然后输出

```

 

++有点意思的玩法:

```

1 var i = 8;

 

2 console.log(4 + i++);   //12  , 先使用原来的a的值,就是4+8,输出12.然后a1

 

3 console.log(i);     //9

 

4 console.log(++i % 5);   //0  , 先把i1,然后使用i10%5=0

 

5 console.log(i);     //10

```

 

```

1 var a = 1;          //a的值1

 

2 var b = a++;       //b的值是1a的值是++写在后面,是先用再加

 

3 a += ++b;           //先把b1b就是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++时用的是3a变为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

```

 

总结:

其实++运算符非常的简单,只要你记住一句口诀:++在前下自加后运算;++在后先运算后自加;然后在细心点就好了。

 

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号