有 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,例:
要把一個值轉換爲一個字符串可使用toString() 方法
number:例:1轉換爲'1',
Boolean:例:true轉換爲'true',false轉換爲'false'
null:報錯,沒有此方法
undefined:報錯,沒有此方法
string:返回一個字符串副本
Object:返回 "[object Object]"
數據類型 | 轉換爲true值 | 轉換爲false值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""空字符串 |
Number | 任何非零數值(包括無窮大) | 0和NaN |
Object | 任何對象 | |
Undefined | 不適用 | undfined |
null | 不適用 | null |
6個falsey:false,""空字符串,null,undefined, 0和NaN
javascript高級程序設計(第三版)