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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js “+ - ”怎么理解

js “+ - ”怎么理解

慕村9548890 2018-09-07 11:10:58
var a = 5;console.log(a++); // 5console.log(++a); // 7console.log(a--); // 7console.log(--a); // 51.這段代碼有點兒不理解,為什么加減放前后會不一樣呢,2.為什么相差2呢,不是應該只加一或減一的嗎,如果換成a+1,a-1 呢3.而且平時我們比如在循環里也會用到 a++這種形式啊,如上面的結果,拿在循環體內就沒用了咯?求各位大神解釋解釋。。。
查看完整描述

1 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

和 C/C++/Java 類似

  1. ++/--放在前面表示先做運算再返回值;放在后面則是先保存當前值,做運算后返回之前的保存值。(就這樣理解就可以了,千萬不要在一行里寫一個以上的++或--!!??!
    所以a++得到的是原來a的值,在這之后讀取a就可以得到+1后的值;++a得到的就是a自增后的值,至于++a + a a++ + a這種代碼,我相信即使標準有定義,也不是我們應該寫的。其實個人建議a++這類表達式還是單列一行寫比較好,否則閱讀代碼時會造成一定的麻煩(循環的慣用法除外)。

  2. 回到問題本身,其實每一句之后加一個console.log(a);就好理解了

  3. 在 for 循環中,常見的寫法其實是完全拋棄++/--運算的返回值了(只取其副作用),所以前后語義一樣。


查看完整回答
反對 回復 2018-10-23
  • 1 回答
  • 0 關注
  • 667 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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