JavaScript一元正號(hào)運(yùn)算符示例代碼
本文適合JavaScript初學(xué)者。
一元正號(hào)介紹
一元正號(hào)運(yùn)算符(+)位于其操作數(shù)前面,計(jì)算其操作數(shù)的數(shù)值,如果操作數(shù)不是一個(gè)數(shù)值,會(huì)嘗試將其轉(zhuǎn)換成一個(gè)數(shù)值。 盡管一元負(fù)號(hào)也能轉(zhuǎn)換非數(shù)值類(lèi)型,但是一元正號(hào)是轉(zhuǎn)換其他對(duì)象到數(shù)值的最快方法,也是最推薦的做法,因?yàn)樗粫?huì)對(duì)數(shù)值執(zhí)行任何多余操作。
轉(zhuǎn)換字符串
一元正號(hào)可以用于轉(zhuǎn)換數(shù)值字符串為數(shù)字,比如如下代碼:
+ "123" // 123 + "12.3" // 12.3
也可以轉(zhuǎn)換二進(jìn)制、16進(jìn)制數(shù)值、自然底數(shù)的字符串:
+ "0x11" // 17 + "0b11" // 3 + "1e10" // 10000000000
看起來(lái) 和parseFloat功能類(lèi)似,但是parseFloat支持字符串后面部分不為數(shù)字的情況,一元正號(hào)卻不行,比如:
parseFloat("1px") // 1 + "1px" // NaN
如果是空字符串或者多個(gè)空格組成的字符串,一元正號(hào)會(huì)轉(zhuǎn)換為0,parseFloat 結(jié)果為NaN
+ ' ' // 0 parseFloat(' ') // NaN
負(fù)數(shù)形式字符串也可以轉(zhuǎn)換成數(shù)值,但是對(duì)于十六進(jìn)制 二進(jìn)制不適用,對(duì)于自然底數(shù)適用(parseFloat 都適用):
+'-123' // 123 + "-0x11" // NaN + "-0b11" // NaN + "-1e10" // -10000000000
轉(zhuǎn)換日期對(duì)象
一元正號(hào)轉(zhuǎn)換日期對(duì)象為數(shù)字,得到時(shí)間戳,比如如下代碼:
+ new Date(); // 1561020101609
相當(dāng)于如下代碼:
new Date().getTime(); // 1561020101609
轉(zhuǎn)換null、undefined、NaN
一元正號(hào)會(huì)把null轉(zhuǎn)換為0,undefined 轉(zhuǎn)換為NaN。一元正號(hào)施加于NaN,結(jié)果還是NaN。代碼如下:
+ null // 0 + undefined // NaN + NaN // NaN
轉(zhuǎn)換布爾值
一元正號(hào)會(huì)把true 轉(zhuǎn)換為1,false轉(zhuǎn)換為0:
+ true;// 1 + false;// 0
轉(zhuǎn)換數(shù)組
一元正號(hào)會(huì)把空數(shù)組[],轉(zhuǎn)換為0。如果數(shù)組只有一個(gè)元素,切第一個(gè)元素為數(shù)字或者字符串,會(huì)對(duì)第一個(gè)元素進(jìn)行轉(zhuǎn)換,如果有多個(gè)元素,返回NaN,代碼如下:
+ []// 0 + ['123'] // 123 + [true] // NaN + [1,2] // NaN
總結(jié)
一元正號(hào)運(yùn)算符對(duì)于數(shù)字字符串和日期的轉(zhuǎn)換比較適用。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
- js 與或運(yùn)算符 || && 妙用
- javascript三元運(yùn)算符用法實(shí)例
- javascript typeof的用法與typeof運(yùn)算符介紹[詳細(xì)]
- JS按位非(~)運(yùn)算符與~~運(yùn)算符的理解分析
- Javascript 按位取反運(yùn)算符 (~)
- JS中三目運(yùn)算符和if else的區(qū)別分析與示例
- js中的 || 與 && 運(yùn)算符詳解
- Javascript 按位左移運(yùn)算符使用介紹(<<)
- 詳解js運(yùn)算符單豎杠“|”與“||”的用法和作用介紹
- JavaScript中的6種運(yùn)算符總結(jié)
相關(guān)文章
如何在JavaScript中等分?jǐn)?shù)組的實(shí)現(xiàn)
這篇文章主要介紹了如何在JavaScript中等分?jǐn)?shù)組的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12每天一篇javascript學(xué)習(xí)小結(jié)(String對(duì)象)
這篇文章主要介紹了javascript中的String對(duì)象知識(shí)點(diǎn),對(duì)String對(duì)象的基本使用方法,以及各種方法進(jìn)行整理,感興趣的小伙伴們可以參考一下2015-11-11JavaScript獲取對(duì)象在頁(yè)面中位置坐標(biāo)的方法
這篇文章主要介紹了JavaScript獲取對(duì)象在頁(yè)面中位置坐標(biāo)的方法,涉及JavaScript操作頁(yè)面元素屬性的相關(guān)技巧,需要的朋友可以參考下2016-02-02textarea不能通過(guò)maxlength屬性來(lái)限制字?jǐn)?shù)的解決方法
textarea稱(chēng)文本域,又稱(chēng)文本區(qū),其不能通過(guò)maxlength屬性來(lái)限制字?jǐn)?shù),為此必須尋求其他方法來(lái)加以限制以達(dá)到預(yù)設(shè)的需求2014-09-09JavaScript實(shí)現(xiàn)網(wǎng)絡(luò)測(cè)速的方法詳解
在我們的日常生活中離不開(kāi)網(wǎng)絡(luò),而網(wǎng)絡(luò)的快慢直接決定了用戶(hù)的產(chǎn)品使用體驗(yàn)。本文就來(lái)帶大家了解如何用JavaScript實(shí)現(xiàn)網(wǎng)絡(luò)測(cè)速,需要的可以參考一下2023-01-01用showModalDialog彈出頁(yè)面后,提交表單總是彈出一個(gè)新窗口
用showModalDialog彈出頁(yè)面后,提交表單總是彈出一個(gè)新窗口,其實(shí)解決方法很簡(jiǎn)單如下。2009-07-07js實(shí)現(xiàn)日期顯示的一些操作(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)日期顯示的一些操作(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07小程序開(kāi)發(fā)?page-container?頁(yè)面容器彈出對(duì)話(huà)框功能的實(shí)現(xiàn)
這篇文章主要介紹了小程序開(kāi)發(fā)?page-container?頁(yè)面容器,彈出對(duì)話(huà)框,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08javascript實(shí)現(xiàn)阻止iOS APP中的鏈接打開(kāi)Safari瀏覽器
這篇文章主要介紹了javascript實(shí)現(xiàn)阻止iOS APP中的鏈接打開(kāi)Safari瀏覽器,這個(gè)IOS APP一般是Web APP,否則沒(méi)法使用本文的代碼,需要的朋友可以參考下2014-06-06