JavaScript中引用类型,基本包装类型,基本类型的辨析

  • Post author:
  • Post category:java


引用类型(object)

引用类型的值(对象)是引用类型的一个实例,在ECMAScript中是一种数据结构,用于将数据和功能组织在一起,它们也常被称为类,但这并不恰当。引用类型有时也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。他们一般都是按引用访问的(在函数中,是按值访问,传递的值是对象地址)

基本类型

基本类型值指的是简单的数据段,五中基本数据类型分别为:undefined, null, boolean, number, string, 它们是按值访问的。基本类型不允许有属性或方法

基本包装类型

定义


与引用类型类似,但同时具有与各自的基本类型相应的特殊行为


如:Boolean, Number, String

解释

要明白基本包装类型,首先从一个例子入手

var s1 = "some text";
var s2 = s1.substring(2);

逻辑上,基本类型是不允许有方法的,那上述是怎么实现的呢?

这两段代码在后台的工作过程是这样的:

1. 创建一个String类型的实例(创建的这个实例就叫做基本包装类型)

2. 在实例上调用substring方法

3. 销毁这个实例

结论

引用类型和基本包装类型的主要区别就是对象的生存期(基本包装类型也被当作对象)。引用类型的实例在执行流离开当前作用域之前一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间(如上),然后立即被销毁。因此,这意味着我们不能再运行时为基本类型值加属性和方法



摘自《JavaScript高级程序设计》



版权声明:本文为huangbx_tx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。