var s1 = new String("some text");
var s2 = s1.substring(2);
s1 = null;
上面的步骤同样适用于Boolean和Number类型的值。
需要注意的是,自动创建的基本类型的对象,只存在于一行代码执行的瞬间,然后立即被销毁 例:
var s1 = "some text";
s1.color = "red";
alert(s1.color); //undefined
使用new调用基本包装类型构造函数
var s1 = new String("some text");
注意,上述方法等价于
var s1 = new Object("some text");
alert(s1 instanceof String) //true
Object构造函数会像工厂方法一样,根据传入类型返回对应的基本包装类型的实例。
需要注意的是,使用new生成的实例与直接调用同名的转型函数是不一样的。
var value = "25";
var number = Number(value); // 转型函数
alert(typeof number); // number
var obj = new Number(value); // 构造函数
alert(typeof obj); // object
出现基本包装类型的情况
当在基本类型上使用一些方法时,后台会自动创建基本包装类型
我们知道,基本类型值不是对象,因而从逻辑上讲它们不应该有方法(尽管如我们所愿,它们确实有方法)。其实,为了让我们实现这种直观的操作,后台已自动完成了一系列处理:
即:
上面的步骤同样适用于Boolean和Number类型的值。
需要注意的是,自动创建的基本类型的对象,只存在于一行代码执行的瞬间,然后立即被销毁
例:
使用new调用基本包装类型构造函数
注意,上述方法等价于
Object构造函数会像工厂方法一样,根据传入类型返回对应的基本包装类型的实例。
需要注意的是,使用new生成的实例与直接调用同名的转型函数是不一样的。
第 106 题:分别写出如下代码的返回值