1. 程式人生 > 其它 >Java入門到架構師教程之JavaScript型別轉換

Java入門到架構師教程之JavaScript型別轉換

一、自動型別轉換

自動型別轉換一般是根執行環境操作符聯絡在一起的,是一種隱式轉換,看似難以捉摸,其實是有一定規律性的,大體可以劃分為:轉換為字串型別轉換為布林型別轉換為數字型別 圖1:自動型別轉換順序

二、函式轉換(String to Number)

JS 提供了 parseInt()parseFloat()兩個全域性轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對 String 型別呼叫這些方法,這兩個函式才能正確執行;對其他型別返回的都是 NaN(Not a Number)。

1、parseInt()

在轉換之前,首先會分析該字串,判斷位置為0處的字元,判斷它是否是個有效數字,如果不是,則直接返回NaN,不再繼續,如果是則繼續,直到找到非字元。
 parseInt("1234blue"); // returns 1234
 parseInt("22.5"); // returns 22
 parseInt("blue"); // returns NaN

2、parseFloat()

該方法與 parseInt() 方法的處理方式相似,從位置 0 開始檢視每個字元,直到找到第一個非有效的字元為止,然後把該字 符之前的字串轉換成數字。不過,對於這個方法來說,第一個出現的小數點是有效字元。如果有兩個小數點,第二個小數點將被看作無效的,parseFloat()方法會把這個小數點之前的字串轉換成數字。
parseFloat("1234blue"); //
returns 1234.0 parseFloat("22.5"); // returns 22.5 parseFloat("22.34.5"); // returns 22.34 parseFloat("blue"); //returns NaN

三、顯示轉換

幾乎每個數物件都提供了toString()函式將內容轉換為字串形式,其中Number提供的toString()函式可以將數字轉換為字串。 Number還提供了toFixed()函式將根據小數點後指定位數將數字轉為字串,四捨五入。
// 將內容轉換為字串形式
var data = 10
console.log(data.toString())

// 根據小數點後指定位數將數字轉為字串,四捨五入 data = 1.4; console.log(data.toFixed(0)); data = 1.49; console.log(data.toFixed(1)); // 不能對null和undefined使用 data = null console.log(data.toString()) data = undefined console.log(data.toString())

JS 為 Number、Boolean、String 物件提供了構造方法,用於強制轉換其他型別的資料。此時操作的是整個資料,而不是部分。
Number(false)            0
Number(true)             1
Number(undefined)          NaN
Number(null)             0
Number( "5.5 ")         5.5
Number( "56 ")          56
Number( "5.6.7 ")       NaN
Number(new Object())    NaN
Number(100)             100

Boolean("");             // false – empty string
Boolean("hi");             // true – non-empty string
Boolean(100);             // true – non-zero number
Boolean(null);             // false - null
Boolean(0);             // false - zero
Boolean(new Object());     // true – object

最後一種強制型別轉換方法 String() 是最簡單的,因為它可把任何值轉換成字串。要執行這種強制型別轉換,只需要呼叫作為引數傳遞進來的值的 toString() 方法,即把 1 轉換成"1 ",把 true轉換成 "true ",把 false 轉換成 "false ",依此類推。強制轉換成字串和呼叫 toString() 方法的唯一不同之處在於,對 null 或 undefined 值強制型別轉換可以生成字串而不引發錯誤:
var s1 = String(null); // "null"
var oNull = null;
var s2 = oNull.toString(); // won’t work, causes anerror
最為簡單的一種轉換為字串的方式,直接在任意資料後面 + "" 即可。如您想學習完整java架構師全新課程,請私信我或請看圖1資訊。