javascript 基本包装类型
javascript基本类型本身是不提供任何方法,但为了能提供对数据方便操作(如对字符串截取等),ECMAScript提供了对应的基本包装类型,总共有3种:Boolean, Number, String,对应基本类型是布尔型,数值型和字符串型。
JS对基本类型值的访问,都是拷贝一副本,这就导致限制了操作。对于这种场景JS后台自动使用基本包装类型,如下代码:
var str = "abc";
var str2 = str.substring(1, 2); // 访问str时,后台自动创建一个String包装类型,然后将值赋于此包装类型,再将包装类型的值做截取后的字符串值赋于str2,然后立即销毁包装类型str。其中过程等于下面代码:
var str = new String("abc");
var str2 = str.substring(1, 2);
str = null;
假设代码修改如下:
var str = "abc";
str.color = "test";
alert(str.color); // 输出undefined, 因为color在初访问时赋值,此处是第二次访问,就已经被销毁了。
如果要持久保存color属性,则把它当引用类型来使用,如下:
var str = new String("abc");
str.color = "test";
alert(str.color); // 输出test,因为str是普通的引用类型的实例
此外,Boolean和Number也是一样的。
浙公网安备 33010602011771号