在JavaScript中,你可能需要获取一个string的长度。
在控制台中尝试:
var s = "test"
s.length
控制台会返回4。同时当你使用
s.t = 4
尝试给s对象创建一个属性,也是可以创建成功的,但是在此调用
s.t```
尝试打印的时候,却返回undefined.
这是因为,JavaScript在基本类型被当做对象使用时,会自动创建一个包装对象。
上面的
s.length```
相当于
var obj = new String();
obj.length
JavaScript创建了一个临时对象,让用户感觉像是在使用对象一样,而且,每次用完之后就会销毁这个对象,这就是包装对象。
因此,在上次的赋值语句过后,包装对象已经被销毁,再次访问自然访问不到了。