首页 > 代码库 > JS-包装对象

JS-包装对象

1、字符串、数字、布尔值不是对象,为什么会有属性呢?例如:

1 var s = "test";
2 var len = s.length;//4,使用字符串的属性

因为只要引用了字符串s的属性,JavaScript就会将字符串值通过调用new String(s)的方式临时转换成对象,属性引用结束,临时对象销毁。

例如以下代码,对字符串s设置属性会失败:

1 var s = "test";
2 s.len = 4;
3 var t = s.len;// undefined

同样,数字和布尔值也具有各自的构造函数创建临时对象:Number()、Boolean()。在存取字符串、数字或布尔值的属性时创建的临时对象称作包装对象

注:null和undefined没有包装对象,访问它们的属性会造成一个类型错误。

 

JS-包装对象