javascript的引用类型是一种数据类型,这个数据类型有点类似数组,只不过这个“数组”里面存储的全部是引用类型的每个实例(对象)。引用类型相当于其他编程语言的“类”,而内置的引用类型就相当于其他OOP语言的内置类。
不过,在javascript中,“类”并不真正存在,所以无需去区分对象和类,一切皆是对象。
所以,在javascript中,我们说:实例化一个对象或对象的实例,而不是像其它语言那样说:实例化一个类或类的实例。如果还转不过弯来,你可以把javascript中的对象当做其它语言的类,而把javascript中对象的实例当做其它语言中的类的实例。
引用类型其实是“对象定义”,“对象定义”实际上是对象自身,所以引用类型就是对象,其内存储着自身的实例。
对象之所以叫做”引用类型“,是因为在 ECMAScript 中,不能访问对象的物理表示,只能访问对象的引用。每次创建对象,存储在变量中的都是该对象的引用,而不是对象本身。
引用类型(对象)初始状态可以用
object=[];
表示,
用以下方法为其添加几个对象(其实就是为数组增加元素)
var obj01=new Object();
var obj02=new Object();
或;
var obj01={};
var obj02={};
那么这个引用类型就变成了:
ReferenceType=[{},{}];
js内部就会如下处理:
obj01=&object[0];
obj02=&object[1];
将一个引用类型的变量赋值给另一个引用类型的变量时,传递的是前一个变量的指针,而将一个基本类型的变量复制给另一个基本类型的变量时,传递的是前一个变量的副本。