本文適合JavaScript初學者。
一元正號介紹
一元正號運算符(+)位于其操作數前面,計算其操作數的數值,如果操作數不是一個數值,會嘗試將其轉換成一個數值。 盡管一元負號也能轉換非數值類型,但是一元正號是轉換其他對象到數值的最快方法,也是最推薦的做法,因為它不會對數值執行任何多余操作。
轉換字符串
一元正號可以用于轉換數值字符串為數字,比如如下代碼:
+ "123" // 123+ "12.3" // 12.3
也可以轉換二進制、16進制數值、自然底數的字符串:
+ "0x11" // 17+ "0b11" // 3+ "1e10" // 10000000000
看起來 和parseFloat功能類似,但是parseFloat支持字符串后面部分不為數字的情況,一元正號卻不行,比如:
parseFloat("1px") // 1+ "1px" // NaN
如果是空字符串或者多個空格組成的字符串,一元正號會轉換為0,parseFloat 結果為NaN
+ ' ' // 0parseFloat(' ') // NaN
負數形式字符串也可以轉換成數值,但是對于十六進制 二進制不適用,對于自然底數適用(parseFloat 都適用):
+'-123' // 123+ "-0x11" // NaN+ "-0b11" // NaN+ "-1e10" // -10000000000
轉換日期對象
一元正號轉換日期對象為數字,得到時間戳,比如如下代碼:
+ new Date(); // 1561020101609
相當于如下代碼:
new Date().getTime(); // 1561020101609
轉換null、undefined、NaN
一元正號會把null轉換為0,undefined 轉換為NaN。一元正號施加于NaN,結果還是NaN。代碼如下:
+ null // 0+ undefined // NaN+ NaN // NaN
轉換布爾值
一元正號會把true 轉換為1,false轉換為0:
+ true;// 1+ false;// 0
轉換數組
一元正號會把空數組[],轉換為0。如果數組只有一個元素,切第一個元素為數字或者字符串,會對第一個元素進行轉換,如果有多個元素,返回NaN,代碼如下:
+ []// 0+ ['123'] // 123+ [true] // NaN+ [1,2] // NaN
總結
一元正號運算符對于數字字符串和日期的轉換比較適用。
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答