javascript中parseint和number的区别

2017-10-30  本文已影响84人  小豌豆书吧

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

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

--------@1@----------

1.parseInt

语法

parseInt(string, radix)
parseInt参数.gif

返回值

如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。

如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
--------@2@----------

2.Number

语法

Number(object)
Number参数.gif

返回值

如果参数是 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>
上一篇下一篇

猜你喜欢

热点阅读