亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

++a和a++ 有什么區別?

++a和a++ 有什么區別?

正在回答

11 回答

可以換個思路,不考慮兩個變量,但看值。

var?a??=?5;
alert(a++);//5
alert(a);//6
/*
????a?值自增1;
????(a++)?值與自增?1?前的?a?值?5?相等;
*/
var??a??=?5;
alert(++a);//6;
alert(a)?;//6;
/*
????a?值自增1;
????(++a)值與自增?1?后的?a?值?6?相等;
*/



0 回復 有任何疑惑可以回復我~

可以換個思路,不考慮兩個變量,但看值。

var a ?= 5;

那么,alert(a++);彈出框內值為 5;也就是說 (a++ )的值為5 ,和此前的 a 值相等。

但是,alert(a); 彈出框內值為6;a 值在原始 a 值的基礎上自增 1;

var ?a ?= 5;

alert(++a);彈出 6;

alert(a) ;彈出值也為6;

相應的 (++a)的值為6,和自增 1 后的 a 值相等。

1 回復 有任何疑惑可以回復我~
#1

卡蘭尼克

好認真,,,被感動了一下
2016-10-25 回復 有任何疑惑可以回復我~

var a1,a2,b,c;

a1 = 5;

a2 = 5;

b = a1++;

c = ++a2;

則:a1 = 6 ;a2 = 6;

但:b = 5 ; c = 6;

-------------------------

var ?x = 5;

var ?y = 5;

x = x++;

y = ++y ;

則: x = 5 ; y = 6 ;

1 回復 有任何疑惑可以回復我~
#1

little_star 提問者

為什么最終a1 = 6 ;a2 = 6;a1和a2賦值之后并沒有進行運算啊
2016-04-12 回復 有任何疑惑可以回復我~
#2

鬼擎火 回復 little_star 提問者

對于變量 a 而言,a++和++a都是自增1;作為表達式 b = a++;和 b=++a;時,對b的賦值不同。前者先對b賦值a,然后a自增1;后者a先自增1,然后對b賦值a值。
2016-04-12 回復 有任何疑惑可以回復我~
#3

鬼擎火 回復 鬼擎火

出現a++ 和 ++a,則已經在進行自增運算了。
2016-04-12 回復 有任何疑惑可以回復我~
#4

little_star 提問者 回復 鬼擎火

也就是相當于a++和++a不管是不是只重新賦值給b(b=a++或b=++a),而沒有重新賦值給a自身(a=++a或a=a++),最終a的值都會受b的賦值運算影響而改變自身a的值,對嗎?
2016-04-12 回復 有任何疑惑可以回復我~
#5

little_star 提問者 回復 鬼擎火

var a1,b; a = 5; b = (a++)*1; 為什么這種情況在b運算的過程中a++也沒運算呢?
2016-04-12 回復 有任何疑惑可以回復我~
#6

鬼擎火 回復 little_star 提問者

不是的。 var a=5; var b; b = a++ 和 b = ++a 中,a 的值并不會受到 b 的值的影響。a++ 和 ++a 本身就是一個自增運算。 b = a++ 相當于兩步操作: b = a;//b=5; a = a + 1;//a=6; 最終:a=6;b=5; b = ++a 相當于: a = a+1; //a=6; b = a;//b=6 最終:a=6;b=6
2016-04-13 回復 有任何疑惑可以回復我~
#7

鬼擎火 回復 little_star 提問者

在 var a,b; a = 5; b = (a++)*1; 運算結果:a=6;b=5;
2016-04-13 回復 有任何疑惑可以回復我~
#8

秋山君 回復 鬼擎火

看到這里,突然就明白了!謝謝!
2016-05-24 回復 有任何疑惑可以回復我~
#9

阿皎就是煢兔丶 回復 秋山君

那如果是b=(a++)*a是不是就是b=5*6了
2016-07-01 回復 有任何疑惑可以回復我~
查看6條回復
for(var?i=0;i<5;){
????document.write(++i)
}

這里輸出的是1,2,3,4,5,因為++i是先加1再賦值

for(var?i=0;i<5;){
????document.write(i++)
}

這里輸出的是0,1,2,3,4,因為i++是先賦值再加1

3 回復 有任何疑惑可以回復我~
#1

little_star 提問者

++i還是i++會是不同運算結果只對循環結構有影響嗎?
2016-04-12 回復 有任何疑惑可以回復我~
#2

溫水里的小白 回復 little_star 提問者

for(var i=0;i<5;){ document.write(i) }我輸入這個樣式,馬丹電腦網頁直接卡死了-。-
2016-05-23 回復 有任何疑惑可以回復我~
#3

慕田峪9273182 回復 溫水里的小白

你這是個死循環,document.write(i)會一直執行,當然會卡死
2016-05-26 回復 有任何疑惑可以回復我~

運算時,++a先完成賦值并立即參與到運算,而如果是a++,就以a的初始值為準參加運算,然后a在進行賦值,a=a++;

0 回復 有任何疑惑可以回復我~

++a先自增后取值,a++先取值后自增;前提是在分號之前

0 回復 有任何疑惑可以回復我~

a++是先處理a,之后a自增,++a是,a先自增,然后處理a

0 回復 有任何疑惑可以回復我~

a++ 和 ++a的相同點都是給a+1,不同點是a++是先參加程序的運行再+1,而++a則是先+1再參加程序的運行

3 回復 有任何疑惑可以回復我~

++a 先加1在運算, a++ 運算后再自加1

0 回復 有任何疑惑可以回復我~


一般是相等的 ?當賦值時有所不同 ?++a 先運算后賦值 ? ?a++先賦值后運算

0 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

++a和a++ 有什么區別?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號