當前位置:才華齋>設計>網頁設計>

javascript顯式型別轉換的方法分析

網頁設計 閱讀(2.46W)

儘管js可以做許多自動型別轉換,但某些時候仍然需要做顯示型別轉換或為了程式碼邏輯清晰易讀而做顯示型別轉換。

javascript顯式型別轉換的方法分析

做顯示型別轉換最簡單的方法就是用Boolean()、Number()、String()或Object()函式:

Number("3") //3String(false) //"false"ring()//同上Boolean([]) //trueObject(3) //new Number(3)

js中的某些運算子會做隱式型別轉換,比如:

若+運算子一個運算元是字串,則它會將另一個運算元轉換為字串;

一元+運算子將其運算元轉換為數字;

一元!運算子將運算元轉換為布林值並取反;

程式碼中經常可以看到如下型別轉換的.用法:

x+"" //等價於String(x)+x //等價於Number(x)x-0 //同上!!x //等價於Boolean(x),是雙歎號哦

Number類定義的toString()方法可以按轉換基數(radix)將數字轉換為其它進位制數的字串表示(2-36之間):

var n =11;bin_str = ring(2);oct_str = "0" + ring(8);hex_str = "0x" + ring(16);

Number類還為數字到字串的型別轉換場景定義了另外3個方法:

toFixed()根據小數點後的指定位數將數字轉換為字串,它從不使用指數記數法。

xed(5) //"11.11334"

toExponential()使用指數記數法將數字轉換為指數形式的字串,其中小數點前只有一位,小數點後位數由引數指定:

ponential(5) //"1.11134e+1"

toPrecision()根據指定的有效數字位數將數字轉換為字串,如果有效數字位數小於數字整數部分的位數則轉換為指數形式。

以上3個方法都會適當的進行四捨五入或填充0.

需要說明的是前面提到的Number()函式只能基於十進位制數進行轉換,而且不能出現非法字元。我們可以使用全域性函式(不屬於任何類的方法)parseInt或parseFloat函式來進行字串到數字的轉換;

parseInt()只解析整數,而parseFloat()可以解析整數和浮點數。

如果字串字首為”0x”或者”0X”,parseInt()將其解釋為16進位制數;parseInt和parseFloat都會跳過任意數量的前導空格,且儘可能解析更多的數值字元;如果第一個非空格字元是非法數字,則返回NaN。

parseInt可以接收第二個可選引數,該引數指定數字轉換的基數,取值範圍是2-36.