JavaScript 遞增(++)與遞減運算子(--)


遞增(++)與遞減運算子(--),這兩組運算子針對指定的數值,進行加1(遞增)減1(遞減)的運算。假設宣告一個y 變數如下:

var x = 'Hello';  

如果針對y 進行遞增運算,例如 ++y ,則結果為101,如果是遞減運算 --y ,則結果為99。無論遞增或是遞減運算,均可配置於運算元前方或後方。如果配置於前方,則是先運算,運算元會先執行運算,取出的將是遞增/ 遞減運算的值,而配置於後方則是後運算,運算元的值會先被取出,然後才進行遞增/ 遞減運算。考慮以下程式片段:

<script>
    var x = 100;
    var y = 100;
    var a = ++x;
    var b = y++;
    console.log(a + ',' + x);
    console.log(b + ',' + y);
</script>

變數 x 進行前置運算,然後將結果值指定給 x,而變數 y則進行後置運算,將值指定給 b 。

101,101
100,101 

由於前置運算會完成運算再設值,因此 x 完成遞增運算結果為 101 ,再進一步設定給 a 變數,如此一來,a 的值亦為 101 。後置運算會先進行設值再執行遞增,因此設定給變數的值是 100 原來的值,而 y 最後完成遞增運算,因此為 101 。

沒有留言: