ECMAScript提供了3个特殊的引用类型:Boolean、Number、String
var str = “abc”; //这类str是不会也不可能有属性的
str.aaa = "aaa"; //这个时候是系统自动创建一个 new String("abc").aaa = ‘aaa’ 然后直接delete
console.log(str.aaa); //这个时候 str又重新的创建一个new String("abc").aaa 这时是一个全新的对象,并没有赋值
//所以此时输出 undfande
var str = new String("abc"); //这是一个对象,可以有属性
str.aaa= "aaa";
str.bbb = 'bbb';
console.log(str.aaa);
直接输出可以正常输出 [aaa]
例子:<script type="text/javascript">
var str ='abc';
str +=1;
var test = typeof(str); //test == "string"
if(test.length == 6){
test.sign = "typeof的返回结果可能为string";
// new String(test).sign = 'xxx';
}
//new String(test).sign (全新的一个对象)
console.log(test.sign); //输出 undfunde
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步