盡管js可以做許多自動類型轉(zhuǎn)換,但某些時候仍然需要做顯示類型轉(zhuǎn)換或為了代碼邏輯清晰易讀而做顯示類型轉(zhuǎn)換。
做顯示類型轉(zhuǎn)換最簡單的方法就是用Boolean()、Number()、String()或Object()函數(shù):
js中的某些運算符會做隱式類型轉(zhuǎn)換,比如:
若+運算符一個操作數(shù)是字符串,則它會將另一個操作數(shù)轉(zhuǎn)換為字符串;
一元+運算符將其操作數(shù)轉(zhuǎn)換為數(shù)字;
一元!運算符將操作數(shù)轉(zhuǎn)換為布爾值并取反;
代碼中經(jīng)??梢钥吹饺缦骂愋娃D(zhuǎn)換的用法:
Number類定義的toString()方法可以按轉(zhuǎn)換基數(shù)(radix)將數(shù)字轉(zhuǎn)換為其它進制數(shù)的字符串表示(2-36之間):
Number類還為數(shù)字到字符串的類型轉(zhuǎn)換場景定義了另外3個方法:
toFixed()根據(jù)小數(shù)點后的指定位數(shù)將數(shù)字轉(zhuǎn)換為字符串,它從不使用指數(shù)記數(shù)法。
toExponential()使用指數(shù)記數(shù)法將數(shù)字轉(zhuǎn)換為指數(shù)形式的字符串,其中小數(shù)點前只有一位,小數(shù)點后位數(shù)由參數(shù)指定:
toPrecision()根據(jù)指定的有效數(shù)字位數(shù)將數(shù)字轉(zhuǎn)換為字符串,如果有效數(shù)字位數(shù)小于數(shù)字整數(shù)部分的位數(shù)則轉(zhuǎn)換為指數(shù)形式。
以上3個方法都會適當?shù)倪M行四舍五入或填充0.
需要說明的是前面提到的Number()函數(shù)只能基于十進制數(shù)進行轉(zhuǎn)換,而且不能出現(xiàn)非法字符。我們可以使用全局函數(shù)(不屬于任何類的方法)parseInt或parseFloat函數(shù)來進行字符串到數(shù)字的轉(zhuǎn)換;
parseInt()只解析整數(shù),而parseFloat()可以解析整數(shù)和浮點數(shù)。
如果字符串前綴為”0x”或者”0X”,parseInt()將其解釋為16進制數(shù);parseInt和parseFloat都會跳過任意數(shù)量的前導(dǎo)空格,且盡可能解析更多的數(shù)值字符;如果第一個非空格字符是非法數(shù)字,則返回NaN。
parseInt可以接收第二個可選參數(shù),該參數(shù)指定數(shù)字轉(zhuǎn)換的基數(shù),取值范圍是2-36.
希望本文所述對大家的javascript程序設(shè)計有所幫助。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com