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()
。
网友评论