你举得例子中x是对象,具体点说是基本包装类型Number,当然它也是Object。 再以字符串为例,通过字面量的方式创建:var a = 'string';,这时它就是基本类型值;通过构造函数的方式创建:var a = new String('string');这时它是对象类型。 基本类型是没有属性和方法的,但仍然可以使用对象才有的属性方法。这时因为在对基本类型使用属性方法的时候,后台会隐式的创建这个基本类型的对象,之后再销毁这个对象。 'string'.length;//6
你举得例子中
x
是对象,具体点说是基本包装类型Number
,当然它也是Object
。再以字符串为例,通过字面量的方式创建:
var a = 'string';
,这时它就是基本类型值;通过构造函数的方式创建:var a = new String('string');
这时它是对象类型。基本类型是没有属性和方法的,但仍然可以使用对象才有的属性方法。这时因为在对基本类型使用属性方法的时候,后台会隐式的创建这个基本类型的对象,之后再销毁这个对象。