1. 程式人生 > >js中i++和++i的區別

js中i++和++i的區別

JavaScript中,我們常常搞不懂i++與++i的區別,今天我們就來簡單說一下。

i++的例子:

    var i=1;
    console.log(i); // 輸出1
    var a=i++;
    console.log(i); //輸出2
    console.log(a); //輸出1

++i的例子:

    var i=1;
    console.log(i);
    var a=++i;
    console.log(i); //輸出2
    console.log(a); //輸出2

原理:

  • 我們知道,++作為後置遞增時,優先順序為16,而作為前置遞增時,優先順序為15
  • =作為賦值運算子時,優先順序為3
  • 所以,++會優先於=而執行
總結:

當運算子在運算元之前,稱為前增量運算子,它對運算元進行增量操作,並返回計算後的值

當運算子在運算元之後,稱為後增量運算子,它對運算元進行增量操作,但返回未做增量計算的值

i++的結果i=i+1; (i++)這個表示式的值是i(未做增量計算的值

++i的結果i=i+1; (++i)這個表示式的值也是i+1(計算後的值

例:

var i=1,j=i++;返回i是2,j是1,j返回未做增量計算的值

var i=1,j=++i;返回i和j都是2,j返回計算後的值

同理,- - i 與 i - -是一樣的