1. 程式人生 > >JavaScript運算符:遞增和遞減(++i,--i 和 i++,i-- 的區別)

JavaScript運算符:遞增和遞減(++i,--i 和 i++,i-- 的區別)

nbsp key mic comment 包含 -- 效應 1+n com

遞增和遞減操作符直接借鑒自C,而且各有兩個版本:前置型 (遞增 ++i ,遞減 --i )和 後置型 (遞增 i++ ,遞減 i-- )。書本上對兩者的定義是:前置型應該位於要操作的變量之前,而後置型則應該位於要操作的變量之後。what?怎麽那麽難理解,換一種通俗易懂的語言去描述應該是咋樣的......,結合提供代碼,一頓白眼.....

前置型 (遞增 ++i ,遞減 --i ): 不就是先自身計算,再賦值給變量(先計算自己身上增加,減少了多少錢,再把它存到自己的銀行卡裏或者還給債主);

後置型 (遞增 i++ ,遞減 i-- ):不就是先將自身的值賦值給變量,然後再自身計算(先把自己原本身上的錢存到自己的銀行卡裏或者還給債主,然後在計算在原來基礎上自己增加,減少了多少錢)

懂了沒?還不懂?那現在開始給你看看兩種方式下,你的錢是怎麽流通的哈:

一、前置型遞增++i,遞減--i

 假設你有100塊(變量i=100) ,那麽前置遞增為 ++i

var i = 100;
alert(i);         => 100
++i;      => 101    先計算自己身上增加了多少錢
alert(i);         => 101       再把它存到自己的銀行卡裏或者還給債主

也相當於如下的操作效果:

var i = 100;

i=i+1; => i=100+1=101;

執行前置遞增和遞減操作時,變量的值都是在語句被求值以前改變的。(在計算機科學領域中,這種情況通常被稱作副效應

,看下面的例子:

var i = 100;
alert(i); => 100         
i++;    => 100     先把自己原本身上的錢存到自己的銀行卡裏或者還給債主
alert(i); => 101 然後在計算在原來基礎上自己增加,減少後一共還有多少錢

把遞增操作符放在變量後面並不會改變語句的結果,因為遞增是這條語句的唯一操作。但是當語句中還包含其他操作時,區別就會不一樣了。看下面的例子:
var num1=2;
var num2=20;
var num3=num1++ + num2;
var num4=num1+num2;
alert(num1);            =>
3
alert(num3);           => 22 // var i; i=num1=2; num1=num+1=3 ; num3=i + num2;
alert(num4);            => 23 // num1+num2;

總結,希望這篇文章對你理解遞增和遞減(++i,--i 和 i++,i-- 的區別)有幫助,分享技術,分享快樂!

JavaScript運算符:遞增和遞減(++i,--i 和 i++,i-- 的區別)