一、算術運算符++,--的定義
- a++ 自增,執行表達式後再進行自增運算,返回的a為a+1
- ++a 自增,進行自增運算後再執行表達式,返回的a為a+1
- a-- 自減,執行表達式後再進行自減運算,返回的a為a-1
- --a 自減,進行自減運算後再執行表達式,返回的a為a-1
可能看了上面的定義後,還是有點不理解,簡單來説:
- a=1,經過一次a++或者++a後,a就等於2了。
- a=2,經過一次 a-- 或者 --a 後,a就等於1了。
在單獨使用a++和++a時,這兩者計算後的a是沒有太大區別的,a--和--a同理,看下圖可知
二、再舉些運算的"栗子"
賦值使用
當把單個a++或者++a賦值給b時,我們得到是這樣的結果
為什麼會出現這種情況?這是因為b = a++ 時,會先把a的值執行表達式,也就是先把a賦值給b後,a再進行自增。簡單來説就是:
b = a++→b = a, a = a+1也就是 b = 1, a = 1+1,最後得到的結果為b=1,a=2。
b = ++a就不同了,b = ++a→a = a+1,b = a也就是a = 1+1, b = a,最後得到的結果為b=2,a=2。
同理可得var a = 1,b = a--和var a = 1,b = --a的結果分別為b=1,a=0; b=0,a=0。
多次運算
- 案例1
只要你看懂了上面的描述,那下面這道題對你來説應該就輕而易舉了。
可得: b=12,a=2
在看完上面的例子,是不是你也和我得到了一樣的結果呢?如果感覺理解加深了點,趕緊點開F12調試工具來自己嘗試下以下例子吧。
- 案例2
- 案例3