js的基本包装类型

JavaScript提供了3个特殊的引用类型:Boolean、Number和String。实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而可以调用这些类型的方法来操作数据。

引用类型和基本包装类型的主要区别

         对象的生存期。使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间,然后立即被销毁。这意味着不能在运行时为基本类型值添加属性和方法。(基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,,所以不能被for…in访问到。Object对象的propertyIsEnumerable()方法可以判断此对象是否包含某个属性,并且这个属性是否可枚举。)

基本包装类型:Boolean、Number和String ,Array,Math,Global(当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象)


for ...in 获取键 for of获取值

对基本包装类型的实例调用typeof会返回object,所有基本包装类型都会被转换为布尔值true

eg:

var obj1 = new Object("hello");

var obj2 = new Object(12);

var obj3 = new Object(true);

alert(obj1 instanceof String);  // true

alert(obj2 instanceof Number); // true

alert(obj3 instanceof Boolean); // true

你可能感兴趣的:(js的基本包装类型)