原始类型
number
string
boolean
null
undefined
对象(object)
Function
Array
Date
…
包装类型
number
string
boolean
var a = "string";
alert(a.length); //6,为什么基本类型的a会有length属性?
a.t = 3; //为a增加属性t
alert(a.t); //undefined
JS中,当为基本类型添加属性时,会将它转换为对应的包装类型对象,操作完成后(如:返回属性的值),这个临时对象会被销毁。
所以上面的代码中a.t的值是undefined