美文网首页让前端飞
num = new Number(num) 和 num = pa

num = new Number(num) 和 num = pa

作者: hanyuntao | 来源:发表于2017-03-29 10:55 被阅读0次

javascript 里的数字有两种类型,一种是基本类型数字number,一种是对象类型Number

var str = "123";
parseInt(str)     // 得到一个基本类型数据
new Number(str)   // 得到一个对象类型数据

基本类型是没有属性和方法的,但仍然可以使用对象才有的属性方法。这时因为在对基本类型使用属性方法的时候,后台会隐式的创建这个基本类型的对象,之后再销毁这个对象。
str的值,不是数字的时候,处理结果也有所不同。

"123".length;  //6

如果str="123s",那么parseInt(str)返回的是 123。new Number(str)返回的是NaN (javascript内置对象,表示不是一个数字 Not a Number的缩写)
在这个场景下面,如果用户输入数量123s, 比较好的处理是把它转换为123,而不是一个NaN,所以更适合使用parseInt()

参考资料:SegmentFault社区关于基本类型数据和对象类型数据的提问中用户
hiYoHoo的回答

相关文章

网友评论

    本文标题:num = new Number(num) 和 num = pa

    本文链接:https://www.haomeiwen.com/subject/skdeottx.html