什么是包装对象?
基本类型都有自己的包装对象,除null 和 undefined 外
基本类型有 string number boolean null undefined
字符串的包装对象 String
数字的包装对象 Number
布尔值的包装对象 Boolean
基本类型会找到对应的包装对象类型,然后包装对象把所有的方法和属性给了基本类型,然后包装对象消失。
var str = new String('abc'); //通过 new 创建对象
alert(typeof str); //object
alert(str.charAt(1)); //既然是对象,下面有方法也就是正常的
String.prototype.charAt = function(){ //源码当中是这样设计的
...
}