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也是一样的。

  

posted @ 2015-08-20 20:38  司马逍遥  阅读(69)  评论(0)    收藏  举报