JS中的資料型別
- 基本資料型別
- number
- string
- Boolean
- null
- undefined
- 引用資料型別
- 物件
- 普通物件 {}
- 陣列 []
- 正則 /內容/
- math
- 日期
- 函式
- 物件
- symbol
number資料型別
它包括正數、負數、0 以及 NaN 都是number資料型別,那麼其他的資料型別想要轉化為number應該使用什麼方法?
第一種方法:Number
對於基本資料型別中的其他幾類:
string型別,如果裡面含有特殊字元,怎麼值為NaN,如果是空字串,那麼為0,如果字串裡面只有數字,那麼就是這個數值
- Number("12") //12
- Number("12px") //NaN,含有特殊字元
- Number("") //0
- Number("12.2") //12.2
- Number("12.2.2") //NaN,正常的數字不會有兩個小數點
Boolean型別,如果是false,則為0,如果是true,則為1
- Number(true) //1
- Number(false) //0
null 和 undefined 來說
-
- Number(null) //0
-
- Number(undefined) //NaN
對於引用資料型別中的幾種
對於引用資料類似,它都會隱實的去呼叫toString方法
- 普通物件呼叫完就是"[object Object]",因此它是含有特殊字元的字串,所以普通物件都是NaN
- 陣列物件呼叫toString方法之後需要根據陣列的內容去判斷值
- [] //值為0,因此轉為數字為0
- [1] //值為1 因此轉為數字為1
- [1,2] //值為1,2 因此轉為數字為NaN
Number({}) //NaN
Number([]) //0
Number([1]) //1
Number([1,2]) //NaN
複製程式碼
第二種方法:parseInt
從左向右去解析,他的結果是一個整數,遇到特殊字元或者小數點就停止。
parseInt("12.2") //12
parseInt("12.2px") //12
parseInt("width:12.2px") //NaN
parseInt(false) //NaN
parseInt(null) //NaN
parseInt(undefined) //NaN
parseInt({}) //NaN
parseInt([]) //NaN
複製程式碼
第三種方法:parseFloat
從左向右去解析,他的結果是一個浮點數,遇到特殊字元會停止,遇到第二個小數點也會停止。其餘和parseInt一樣
parseFloat("12") //12
parseFloat("12.2") //12.2
parseFloat("12.2px") //12.2
parseFloat("width:12.2px") //NaN
parseFloat("12.2.2") //12.2
複製程式碼
以上就是JS中常用的其他資料型別轉為number資料型別的三種方法。