JavaScript一元正號運算符示例代碼
本文適合JavaScript初學者。
一元正號介紹
一元正號運算符(+)位于其操作數(shù)前面,計算其操作數(shù)的數(shù)值,如果操作數(shù)不是一個數(shù)值,會嘗試將其轉(zhuǎn)換成一個數(shù)值。 盡管一元負號也能轉(zhuǎn)換非數(shù)值類型,但是一元正號是轉(zhuǎn)換其他對象到數(shù)值的最快方法,也是最推薦的做法,因為它不會對數(shù)值執(zhí)行任何多余操作。
轉(zhuǎn)換字符串
一元正號可以用于轉(zhuǎn)換數(shù)值字符串為數(shù)字,比如如下代碼:
+ "123" // 123 + "12.3" // 12.3
也可以轉(zhuǎn)換二進制、16進制數(shù)值、自然底數(shù)的字符串:
+ "0x11" // 17 + "0b11" // 3 + "1e10" // 10000000000
看起來 和parseFloat功能類似,但是parseFloat支持字符串后面部分不為數(shù)字的情況,一元正號卻不行,比如:
parseFloat("1px") // 1
+ "1px" // NaN
如果是空字符串或者多個空格組成的字符串,一元正號會轉(zhuǎn)換為0,parseFloat 結(jié)果為NaN
+ ' ' // 0
parseFloat(' ') // NaN
負數(shù)形式字符串也可以轉(zhuǎn)換成數(shù)值,但是對于十六進制 二進制不適用,對于自然底數(shù)適用(parseFloat 都適用):
+'-123' // 123 + "-0x11" // NaN + "-0b11" // NaN + "-1e10" // -10000000000
轉(zhuǎn)換日期對象
一元正號轉(zhuǎn)換日期對象為數(shù)字,得到時間戳,比如如下代碼:
+ new Date(); // 1561020101609
相當于如下代碼:
new Date().getTime(); // 1561020101609
轉(zhuǎn)換null、undefined、NaN
一元正號會把null轉(zhuǎn)換為0,undefined 轉(zhuǎn)換為NaN。一元正號施加于NaN,結(jié)果還是NaN。代碼如下:
+ null // 0 + undefined // NaN + NaN // NaN
轉(zhuǎn)換布爾值
一元正號會把true 轉(zhuǎn)換為1,false轉(zhuǎn)換為0:
+ true;// 1 + false;// 0
轉(zhuǎn)換數(shù)組
一元正號會把空數(shù)組[],轉(zhuǎn)換為0。如果數(shù)組只有一個元素,切第一個元素為數(shù)字或者字符串,會對第一個元素進行轉(zhuǎn)換,如果有多個元素,返回NaN,代碼如下:
+ []// 0 + ['123'] // 123 + [true] // NaN + [1,2] // NaN
總結(jié)
一元正號運算符對于數(shù)字字符串和日期的轉(zhuǎn)換比較適用。
好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關文章
Chrome中模態(tài)對話框showModalDialog返回值問題的解決方法
chrome中彈出模態(tài)對話框,通過window.returnValue賦返回值關閉后,有的情況下無法取得返回值。2010-05-05
IE和Firefox在JavaScript應用中的兼容性探討
今天在使用CSS屬性的時候發(fā)現(xiàn)"cursor:hand;"在Firefox中鼠標不會變?yōu)槭中?,后來上網(wǎng)搜索了一下資料,發(fā)現(xiàn)hand這個cursor屬性在Firrefox中不兼容,使用"cursor:pointer"就都可以顯示了。2008-04-04
根據(jù)地區(qū)不同顯示時間的javascript代碼
根據(jù)地區(qū)不同顯示時間的javascript代碼...2007-08-08

