## 將一個非數值數據轉換爲數值
有三個方法能將一個非數值轉換爲數值:Number(),parseInt()和parseFloat()。javascript
Number()java
Number轉換規則以下:
1. Boolean類型的true和false分別轉換爲1和0;
2. 數字值就是簡單的傳入和返回;
3. null,返回0;
4. undefined,返回NaN;
5. 字符串則要分幾種狀況處理,空字符串返回0,僅包含數字或者數字及小數點的字符串,將其轉換爲相應的數值,包含除數字外其餘類型字符的轉爲NaN;
6. 對象的話,則調用對象的valueOf(), 按照前面的規則轉換,若結果爲NaN,則調用對象的toString(),在此按照前面的規則進行轉換;函數
Number('abc'); // NaN Number(''); // 0 Number(true); // 1
**注意:一元操做符也能實現和Number()一毛同樣的功能。**spa
Number()在處理字符串的時候比較複雜而且不夠合理,所以在處理字符串的時候常常使用的是parseInt()和parseFloat().
parseInt()和parseFloat()
與Number()不一樣的是:對象
Number('123abc'); // NaN parseInt('123abc'); // 123 parseFloat('123.45ab); // 123.45 parseInt('10', 2); // 2, 按照二進制解析 parseInt('10', 10); // 10, 按照十進制解析
**注意,再不指定parseInt()方法的基數,即不傳第二個參數的時候,是由parseInt()來決定如何解析字符串的,所以爲了不錯誤的解析,咱們最好永遠指定基數。blog
將一個值轉換爲字符串
有兩種方式能夠將一個值轉換爲字符串:toString()和String()ip
toString()
除了undefined和null都有toString()方法,大多數狀況下調用toString()方法沒必要傳參數,但在調用數值的toString()方法的時候,能夠傳遞一個參數,輸出數值的基數。字符串
String()
這個函數能夠將任何類型的值轉換爲字符串,當不知道要轉換的值是否爲null或者undefined的時候,則可使用String()方法來轉化。可將null轉爲'null',undefined轉爲'undefined'。class
**另外要把某個值轉爲字符串還能夠與一個空字符串作加法操做,一樣能達到轉換目的**二進制