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

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

++a 和 a++de 區別?

https://img1.sycdn.imooc.com//5c4d59160001380907930426.jpg?實在是不理解 執行表達式之前+1 or -1? 什么是表達式。 還有我想的答案 abc =3 4 3? ab=3 4? 完完全全 和提交的答案不一樣。求大神具體幫我說一下,怎么個運算法。謝謝~

正在回答

2 回答

我只能解釋一部分,抱歉,作為探討吧,第一個值,

理想是3,實際輸出了4,是因為,++操作符自動賦值

舉例說 a++ 同等于 a=a+1 等于 a+=1,

所以你在b = a++的時候就相當于 b= (a =a+1)或 b= (a +=1)括號是因為++的優先級

然后c 也就不用說了 因為現在的 a = 4,然后下一步

var a = 3相當于給 a 重新賦值,但第二局b = ++ a 又一次改變了 a 的值,

所以輸出了 a : 4? ?b: 4

至于++a,a++的區別,關系到更深層次,變量的進棧出棧賦值,這里我也不是很懂,如果是新手的話先不要太過深究,我是新手,若有錯誤,歡迎大佬指教


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

++a? eg: a=1 ,b=++a 那么 b=2;//先加為敬,相當于b = a; a = a + 1;

a++ eg: a=1 ,b=a++ 那么 b=1;//運行過一次才加,相當于a = a + 1; b = a;

這個自增/自減在循環里比較體現出

在js基礎里講述過變量可重復賦值

上述 var a=3; var b=a++; var c=a;

  1. 一開始a=3,b=a++的時候b=3,原因是a++運行過一次才加

  2. b=a++這條運行后那么a=4了

  3. 在c=a時那么c=4;

  4. 所以輸出 4 3 4

?var a=3; var b=++a;

  1. a又重新等于3了,b=++a,那么b=4,++a是先加,那么a也就執行過了等于4

  2. 所以輸出 4 4

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

別比比 提問者

謝謝~
2019-01-28 回復 有任何疑惑可以回復我~
#2

qq_ChanZheng_0

謝謝THANKS
2019-07-22 回復 有任何疑惑可以回復我~
#3

精慕門9116487

牛逼啊
2019-07-26 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

++a 和 a++de 區別?

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

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

幫助反饋 APP下載

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

公眾號

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