js中的一元加法和一元減法


大多數人都熟悉一元加法和一元減法,它們在 ECMAScript 中的用法與您高中數學中學到的用法相同。

一元加法本質上對數字無任何影響:

1 var iNum = 20;
2 iNum = +iNum;
3 alert(iNum);    //輸出 "20"

這段代碼對數字 20 應用了一元加法,返回的還是 20。

盡管一元加法對數字無作用,但對字符串卻有有趣的效果,會把字符串轉換成數字。

1 var sNum = "20";
2 alert(typeof sNum);    //輸出 "string"
3 var iNum = +sNum;
4 alert(typeof iNum);    //輸出 "number"

這段代碼把字符串 "20" 轉換成真正的數字。當一元加法運算符對字符串進行操作時,它計算字符串的方式與 parseInt() 相似,主要的不同是只有對以 "0x" 開頭的字符串(表示十六進制數字),一元運算符才能把它轉換成十進制的值。因此,用一元加法轉換 "010",得到的總是 10,而 "0xB" 將被轉換成 11。(對“7b”這樣的字符串無法計算,返回NaN)

另一方面,一元減法就是對數值求負(例如把 20 轉換成 -20):

1 var iNum = 20;
2 iNum = -iNum;
3 alert(iNum);    //輸出 "-20"

與一元加法運算符相似,一元減法運算符也會把字符串轉換成近似的數字,此外還會對該值求負。例如:

1 var sNum = "20";
2 alert(typeof sNum);    //輸出 "string"
3 var iNum = -sNum;
4 alert(iNum);        //輸出 "-20"
5 alert(typeof iNum);    //輸出 "number"

在上面的代碼中,一元減法運算符將把字符串 "-20" 轉換成 -20(一元減法運算符對十六進制和十進制的處理方式與一元加法運算符相似,只是它還會對該值求負)。

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM