包装类


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

原文地址:https://www.cnblogs.com/itstone/p/10477210.html