javascript中parseint和number的区别


本来是不想写这个的,网上也有,问题是讲得很不清楚,或者说我阅读能力差吧。

首先,解释一下定义的区别

parseInt将字符串(String)类型转为整数类型。
Number() 函数把对象(Object)的值转换为数字。

在这里可以看出parseInt得到的结果是整数或者NaN,而Number得到的是数字(整数,小数等)或者NaN;

语法

parseInt(string, radix)
参数    描述
string 必需。要被解析的字符串。
radix

可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

  

语法

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