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