JS中有三个基本数据类型是比较特殊的存在,分别是String、number、Boolear,这个三个基本是由自己对应的包装对象。并且随时等候召唤,
包装对象:
其实就是对象,有相应的属性和方法,至于这个过程怎么发生的呢?其是在后台偷偷发生的。
区别:
引用类型和基本包装对象的区别在于,生存期,引用类型所创建的对象,在执行期间一直在内存中,而基本包装对象只是存在一瞬间(也就是执行完后变量就变成null)。
/* 基本包装对象 1、String 2、number 3、Boobear */ var str = 'dwkdwqudu2i'; var str2 = str.charAt(0); cconsole.log(str2); /* 在后台的执行过程 */ var str = new String('dwkdwqudu2i'); var str2 = str.charAt(0); str = null;//把原来的str清空为null console.log(str2); /* 例1 */ str.name = 10; consloe.log(str.name);//undefined /* 例1在后台运行 */ var str = new String(10); str.name = 10; str = null; /* 设置原型就可以不会销毁 但是会污染所有的String */ String.porototype.name = 12; console.log(str.name);//12