• 每天进步一点点!

文章分类

推荐网站

常用手册

JavaScrit的Number()和parseInt()区别【原创】

<<返回

2012-05-15 10:58:27

  • 在转换空字符串或null时,Number()会返回0;parseInt()会返回NAN
alert("Number: " + Number(null)); //0
alert("parseInt: " + parseInt(null));//NaN
alert("Number: " + Number(null)); //0
alert("parseInt: " + parseInt(null));//NaN

 

  • 如果前几个字符是数字字符,后面跟着几个非数字字符, parseInt()只会返回前几个数字字符,后面的非数字字符会被忽略;而Number()会返回NAN
alert("parseInt: " + parseInt('123hello'));//123
alert("Number: " + Number('123hello'));//NaN

 

  • 注意:如果是浮点数如:"1.23"或1.23,Number()会返回1.23,而parseInt()会返回1,他把小数点当做的非数字字符。
alert("parseInt: " + parseInt(1.23)); //1
alert("Number: " + Number(1.23));//1.23
alert("parseInt: " + parseInt("1.23"));//1
alert("Number: " + Number("1.23"));//1.23

 

  • 如果字符串中的第一个字符是数字字符,parseInt()也能识别出各种正数格式(即十进制,二进制,八进制,十六进制);对于二进制,八进制Number()则会忽略字符串的前导0,输出后面的数字,对于十六进制,Number()会转换为十进制。
alert("parseInt: " + parseInt('0101')); //65
alert("Number: " + Number('0101'));//101
alert("parseInt: " + parseInt('070')); //56
alert("Number: " + Number('070')); //70
alert("parseInt: " + parseInt('0xf0')); //240
alert("Number: " + Number('0xf0'));//240

 

  • parseInt()可以接收第二个参数,用来指名转换时使用的基数,这时可以省略进制数的前导符,如八进制的'0',十六进制的'0x'
alert("Number: " + parseInt('101', 2)); //5
alert("Number: " + parseInt('70', 8)); //56
alert("parseInt: " + parseInt('af', 16));//175

文章评论

  • 暂无评论

发表评论

昵称:

内容:

发表评论