javascript顯式類型轉換執行個體分析
這篇文章主要介紹了javascript顯式類型轉換,執行個體分析了javascript實作類別型轉換的常用技巧,非常具有實用價值,需要的朋友可以參考下
本文執行個體講述了javascript顯式類型轉換的方法。分享給大家供大家參考。具體分析如下:
儘管js可以做許多自動類型轉換,但某些時候仍然需要做顯示類型轉換或為了代碼邏輯清晰易讀而做顯示類型轉換。
做顯示類型轉換最簡單的方法就是用Boolean()、Number()、String()或Object()函數:
?
| 1 2 3 4 5 |
Number("3") //3 String(false) //"false" false.toString()//同上 Boolean([]) //true Object(3) //new Number(3) |
js中的某些運算子會做隱式類型轉換,比如:
若+運算子一個運算元是字串,則它會將另一個運算元轉換為字串;
一元+運算子將其運算元轉換為數字;
一元!運算子將運算元轉換為布爾值並取反;
代碼中經常可以看到如下類型轉換的用法:
?
| 1 2 3 4 |
x+"" //等價於String(x) +x //等價於Number(x) x-0 //同上 !!x //等價於Boolean(x),是雙歎號哦 |
Number類定義的toString()方法可以按轉換基數(radix)將數字轉換為其它進位數的字串表示(2-36之間):
?
| 1 2 3 4 |
var n =11; bin_str = n.toString(2); oct_str = "0" + n.toString(8); hex_str = "0x" + n.toString(16); |
Number類還為數字到字串的類型轉換情境定義了另外3個方法:
toFixed()根據小數點後的指定位元將數字轉換為字串,它從不使用指數記數法。
?
| 1 |
11.113344.toFixed(5) //"11.11334" |
toExponential()使用指數記數法將數字轉換為指數形式的字串,其中小數點前只有一位,小數點後位元由參數指定:
?
| 1 |
11.113359.toExponential(5) //"1.11134e+1" |
toPrecision()根據指定的有效數字位元將數字轉換為字串,如果有效數字位元小於數字整數部分的位元則轉換為指數形式。
以上3個方法都會適當的進行四捨五入或填充0.
需要說明的是前面提到的Number()函數只能基於十進位數進行轉換,而且不能出現非法字元。我們可以使用全域函數(不屬於任何類的方法)parseInt或parseFloat函數來進行字串到數位轉換;
parseInt()只解析整數,而parseFloat()可以解析整數和浮點數。
如果字串首碼為”0x”或者”0X”,parseInt()將其解釋為16進位數;parseInt和parseFloat都會跳過任意數量的前置空格,且儘可能解析更多的數值字元;如果第一個非空白字元是非法數字,則返回NaN。
parseInt可以接收第二個選擇性參數,該參數指定數字轉換的基數,取值範圍是2-36.
希望本文所述對大家的javascript程式設計有所協助。