溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript一元正號運算符示例代碼

發(fā)布時間:2020-09-26 11:30:19 來源:腳本之家 閱讀:115 作者:netcy 欄目:web開發(fā)

本文適合JavaScript初學(xué)者。

一元正號介紹

一元正號運算符(+)位于其操作數(shù)前面,計算其操作數(shù)的數(shù)值,如果操作數(shù)不是一個數(shù)值,會嘗試將其轉(zhuǎn)換成一個數(shù)值。 盡管一元負(fù)號也能轉(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

負(fù)數(shù)形式字符串也可以轉(zhuǎn)換成數(shù)值,但是對于十六進制 二進制不適用,對于自然底數(shù)適用(parseFloat 都適用):

+'-123' // 123
+ "-0x11" // NaN
+ "-0b11" // NaN
+ "-1e10" // -10000000000

轉(zhuǎn)換日期對象

一元正號轉(zhuǎn)換日期對象為數(shù)字,得到時間戳,比如如下代碼:

+ new Date(); // 1561020101609

相當(dāng)于如下代碼:

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)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI