var x = new Number();x的数据类型是 number还是object?注意我说的是数据类型?
学习是最好的投资!
你举得例子中x是对象,具体点说是基本包装类型Number,当然它也是Object。
x
Number
Object
再以字符串为例,通过字面量的方式创建:var a = 'string';,这时它就是基本类型值;通过构造函数的方式创建:var a = new String('string');这时它是对象类型。
var a = 'string';
var a = new String('string');
基本类型是没有属性和方法的,但仍然可以使用对象才有的属性方法。这时因为在对基本类型使用属性方法的时候,后台会隐式的创建这个基本类型的对象,之后再销毁这个对象。
'string'.length;//6
object,你自己测试一下不就得了,还得问?
你举得例子中
x
是对象,具体点说是基本包装类型Number
,当然它也是Object
。再以字符串为例,通过字面量的方式创建:
var a = 'string';
,这时它就是基本类型值;通过构造函数的方式创建:var a = new String('string');
这时它是对象类型。基本类型是没有属性和方法的,但仍然可以使用对象才有的属性方法。这时因为在对基本类型使用属性方法的时候,后台会隐式的创建这个基本类型的对象,之后再销毁这个对象。
object,你自己测试一下不就得了,还得问?