本來是不想寫這個的,網上也有,問題是講得很不清楚,或者說我閱讀能力差吧。
首先,解釋一下定義的區別:
parseInt將字符串(String)類型轉為整數類型。
Number() 函數把對象(Object)的值轉換為數字。
在這里可以看出parseInt得到的結果是整數或者NaN,而Number得到的是數字(整數,小數等)或者NaN;
--------@1@----------
語法
parseInt(string, radix)
參數 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
radix | 可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間。 如果省略該參數或其值為 0,則數字將以 10 為基礎來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數。 如果該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN。 |
--------@2@----------
語法
Number(object)
參數 | 描述 |
---|---|
object | 必需。JavaScript 對象。 |
=================================
下面演示區別
//parseInt()說明
parseInt("10"); //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (2+1)
parseInt("17",8); //返回 15 (8+7)
parseInt("1f",16); //返回 31 (16+15)
parseInt("010"); //默認為10 radix不設置默認為10進制
parseInt("xxzc"); //NaN
//Number說明
Number(new Boolean(true));//1
Number(new Boolean(false));//0
Number(new Date());//1489459283047
Number(new String("999"));//999
Number(new String("999 888"));//NaN