来自网络

var s='test';//创建字符串类型变量
s.len=4;//创建包装对象,为包装对象添加属性len
//引用完毕,销毁包装对象
console.log(s.len);//创建包装对象,查找其len属性,没有找到,返回undefined

只要引用了字符串属性,JavaScript就会通过调用 new String(s) 来创建一个临时对象,我们使用的indexOf方法和length属性正是来源于这个临时对象,每次使用都创建一次,然后销毁。这个临时对象就是包装对象,不只是stringnumberboolean类型同样有包装对象。知道了这些知识看看上面的题目为什么结果是undefined

包装对象:存取字符串,数字,布尔值的属性时创建(用String(),Number(),Boolean()构造函数来创建)的临时对象称作包装对象。


King
1.5k 声望33 粉丝

demo:[链接]