JavaScript基本知识整理(基本包装类型)
基本包装类型
为了方便地操作基本类型变量,ECMAScript规定了3个特殊引用类型分别是Boolean,Number和String。
这三种特殊引用类型同时具有基本类型和引用类型的功能,当我们读取一个基本类型时,后台会创建一个对应基本包装类型值,这样我们便可以使用某些方法来更方便地操作数据。
当我们像操作对象一样操作基本类型值调用方法或获取属性时,在读取数据时,后台首先会创建对应基本包装类型的实例,然后在实例上调用指定方法,最后销毁这个实例。
var str1 = "hello,world"; var str2 = str1.substring(2); //上面两行代码等价于 var str1 = new String("hello,world"); var str2 = str1.substring(2); str1 = null ;
所有的基本包装类型转化为布尔类型时都会返回true(包括传入Boolean的值为false的情况)。
我们可以给Object构造函数传入参数,然后可以得到相应的基本包装类型的实例。
var obj = new Object("hello,world"); alert(obj instanceof String);//true
当使用new加基本包装类型构造函数时返回的值和使用同名转型函数返回的值是不一样的
var obj = "123"; obj = Number(obj); alert(typeof obj);//"number" var anotherobj = new Number(obj); alert(typeof anotherobj);//"object" 基本包装类型的实例调用typeof时都会返回"object"