js中i++和++i的區別
阿新 • • 發佈:2019-02-12
在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 - -是一樣的