在ECMAScript中,引用数据类型是一种数据结构,用于将数据和功能组织在一起。ECMAScript支持面向对象的实现与传统的面向对象语言的类和接口等结构不同。引用类型的值(对象)是引用类型的一个实例。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。可以这样认为,所有引用对象都可以找一个可以用new关键字调用的构造函数来创建。下面是例子:
var obj1 = new Object();//定义了一个对象,调用Object()构造函数
var obj2 = {};//定义一个对象,赋值为字面值{},ECMAScript引擎会调用Object()构造函数
var obj3 = new Array();//定义一个数组对象,调用Array()构造函数
var obj4 = [];//定义一个数组对象,赋值为字面值[],ECMAScript引擎会调用Array()构造函数
var obj5 = "字符串";//定义一个字符串对象,赋值为字面量"字符串",ECMAScript引擎会调用String("字符串")构造函数
应用类型借用java继承的概念,可以看作是Object对象特性扩展。由ECMAScript引擎原生扩展实现的其他引用类型有Array,Date,RegExp,Function和基本包装类型,及单体内置对象。基本包装类型指的是Boolean,Number和String类型。单体内置对象指Global和Math对象。