1.string类型
var str = "123456";//string类型
var str = new String("123456");//object类型
str是string(基本类型),本身是没有方法的。
当尝试把基本类型的str当做对象一样访问时,例如:str.length;
解释器会创建一个临时的包装对象,伪代码:
[[tempObj]] = new String(str);
[[tempObj]].length; // 返回具体的length;
delete [[tempObj]]; // 销毁临时对象
重复访问str.length会重复创建这个临时对象。
所以str.t赋值可以成功,但再次访问str.t返回undefined,因为每次创建的临时包装对象都是不同的。
本文深入探讨了JavaScript中字符串类型的特性,包括如何定义字符串变量及访问其属性的方式。特别讲解了在JavaScript中,当试图访问字符串长度等属性时,解释器如何创建并销毁临时对象的过程。

被折叠的 条评论
为什么被折叠?



