首先,解释一下定义的区别:
- parseInt将字符串(String)类型转为整数类型。
- Number() 函数把对象(Object)的值转换为数字。
在这里可以看出parseInt得到的结果是整数或者NaN,而Number得到的是数字(整数,小数等)或者NaN;
--------@1@----------
1.parseInt
语法
parseInt(string, radix)
返回值
如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。
如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
--------@2@----------
2.Number
语法
Number(object)
返回值
如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。
如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
3. 下面演示区别
<script type="text/javascript">
var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new Date();
var test4= new String("999");
var test5= new String("999 888");
var test6= new String("08");
var test7= new String("3.4.5");
//Number() 函数把对象的值转换为数字。
document.write(Number(test1)+ "<br />"); //1
document.write(Number(test2)+ "<br />"); //0
document.write(Number(test3)+ "<br />");
document.write(Number(test4)+ "<br />"); //999
document.write(Number(test5)+ "<br />"); //NaN
document.write(Number(test6)+ "<br />"); //8
document.write(Number(test7)+ "<br />"); //NaN
// parseInt() 函数可解析一个字符串,并返回一个整数。
document.write("-------------------------下面是parseInt"+ "<br />");
document.write(parseInt(test1)+ "<br />"); //NaN
document.write(parseInt(test2)+ "<br />"); //NaN
document.write(parseInt(test3)+ "<br />"); //NaN
document.write(parseInt(test4)+ "<br />"); //999
document.write(parseInt(test5)+ "<br />"); //999
document.write(parseInt(test6)+ "<br />"); //8
document.write(parseInt(test7)+ "<br />"); //3
console.log(parseInt("10")); //返回 10
console.log(parseInt("19",10)); //返回 19 (10+9)
console.log(parseInt("11",2)); //返回 3 (2+1)
console.log(parseInt("17",8)); //返回 15 (8+7)
console.log(parseInt("1f",16)); //返回 31 (16+15)
console.log(parseInt("010")); //未定:返回 10 或 8
</script>