好程式設計師web前端教程分享初學者搞懂i++和++i

好程式設計師IT發表於2019-12-06

好程式設計師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 的原值,然後 i 1

>++i  :先給 a 1 ,然後用 i 的新值

 

```

1  var i = 10;

console.log(i++); //10  ,先引用原值,然後加 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 的值是 ++ 寫在後面,是先用再加

 

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部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2667354/,如需轉載,請註明出處,否則將追究法律責任。

相關文章