js數據類型間的互相轉換

1.其餘數據類型轉換爲number

有 3 個函數能夠把非數值轉換爲數值:Number() 、 parseInt() 和 parseFloat() 。第一個函數, 即轉型函數 Number() 能夠用於任何數據類型,而另兩個函數則專門用於把字符串轉換成數值。平常使用中,parseInt)()比較的經常使用,javascript

而在 ECMAScript 5 JavaScript 引擎中, parseInt() 已經不具備解析八進制值的能力,所以前導的零會 被認爲無效,從而將這個值當成 "70" ,結果就獲得十進制的 70。在 ECMAScript 5 中,即便是在非嚴格 模式下也會如此。java

爲了消除在使用 parseInt() 函數時可能致使的上述困惑,能夠爲這個函數提供第二個參數:轉換 時使用的基數(即多少進制)。若是知道要解析的值是十六進制格式的字符串,那麼指定基數 16 做爲第 二個參數,能夠保證獲得正確的結果函數

parseInt()與parseFloat()的區別:設計

1.parseInt()會忽略非數字字符,parseFloat()除對第一個小數點有效, 也會忽略非數字字符cdn

2.它們都會忽略前導0;對象

3.parseInt()不解析8進制,parseFloat()只解析10進制blog

Boolean:true和false 分別轉換爲1和0;
number:簡單的傳入和返回
null:0
undefined:NaN
ip

string:1.若單純爲數字,轉換爲10進制數字(忽略前導0);例:"123"轉爲123,"011"轉爲11字符串

2.若是爲有效浮點數,則轉換爲對應的浮點數值,例:"1.5"轉換爲1.5string

3.若是爲有效16進制格式,轉換爲同等的10進制數,例:'0xf'轉化爲15

4.若是爲空字符串,轉換爲0,例:''轉爲0, 5.若是是除上述以外的字符,轉換爲NaN,例:

Object:若是是對象,則調用對象的 valueOf() 方法,而後依照前面的規則轉換返回的值。若是轉換 的結果是 NaN ,則調用對象的 toString() 方法,而後再次依照前面的規則轉換返回的字符 串值。不過通常都是轉換爲NaN,若是想要轉換爲所須要的數字,能夠修改valueOf()和toString()方法

2.其餘數據類型轉換爲字符串

要把一個值轉換爲一個字符串可使用toString() 方法

number:例:1轉換爲'1',
Boolean:例:true轉換爲'true',false轉換爲'false'
null:報錯,沒有此方法
undefined:報錯,沒有此方法
string:返回一個字符串副本
Object:返回 "[object Object]"

3.其餘數據類型轉換爲布爾值

數據類型 轉換爲true值 轉換爲false值
Boolean true false
String 任何非空字符串 ""空字符串
Number 任何非零數值(包括無窮大) 0和NaN
Object 任何對象
Undefined 不適用 undfined
null 不適用 null

6個falsey:false,""空字符串,null,undefined, 0和NaN

4.因爲Undefined和Null,Object的特殊性,因此轉換類型沒有意義,沒有轉換方法。

5.參考資料

javascript高級程序設計(第三版)

6.未完待續……

相關文章
相關標籤/搜索