包装对象 : 基本类型都有自己对应的包装对象 : String Number Boolean 。
例如
var str = 'hello';
str.charAt(0);这里用的就是sting类型的包装对象String下面的方法。当执行这一句话的时候,基本类型会找到对应的包装对象类型,然后包装对象把所有的属性和方法给了基本类型,然后包装对象消失。看下面这道题
var str = 'hello';
str.number = 10;
alert( str.number ); //undefined
这里结果是undefined。执行第一句话的时候,str是一个基本类型,执行第二句话的时候,str是包装对象的一个对象,并且给它添加了一个属性number,然后就消失了。
执行到第三句话的时候,str是另一个包装对象的对象,没有number属性,所以结果是undefined。
正确的做法应该是
var str = 'hello';
String.prototype.number = 10;
alert( str.number );