JavaScript之基本包装类型
为了能更好的操作基本类型值,JavaScript提供了3个特殊的引用类型:Boolean,Number和String。这些引用类型和传统对象相似,有自己的属性和方法,但也具备各自的特殊行为。 一 基本包装类型简介 我们知道,基本类型的值是没有属性和方法的,不能被改变的。但是上面3个特殊的引用类型赋予了可以操作基本类型值的方法: 1 var str1 = "hello world"; 2 var str2 = str1.sunstring(5); 从上面代码我们知道,str1是一个基本类型的字符串,但我们却用它调用了一个方法,并把返回值赋值给了str2。照理说基本类型值是没有方法的,那么这个操作是怎么实现的呢? 实际上JavaScript在读取一个基本类型值时,后台会有如下操作: 1, 创建基本包装类型(这里是String类型)的一个实例。 2, 在该实例上调用相关方法。 3, 立即销毁该实例。 所以实际上str1在调用方法时可以理解为执行了如下过程: 1 var s1 = new String(str1); 2 var str2 = s1.substring(5); 3 s1 = null; 注意:以上操作都是后台完成,我们并不能察觉到它。 普通引用类型和基本包装类型的主要区别在于对象的生存周期,使用new