一、数组的存储类型:数组是引用类型的对象

引用类型:数据无法直接保存在变量本地的数据类型。

因为变量只允许保存一个值,而引用类型往往保存多个值。
会在window对象之外,创建一个独立的空间,产生一个唯一的地址。
变量中依然保存的是一个值,只是数组中仅保存了地址。

例:

var student = ["张三", "李四", "王五", "马六"];
var teacher = student;
console.log(String(student));
teacher.length--;
console.log(String(student));
teacher = null;
console.log(String(student));
student = null;
console.log(String(student));

下图表示以上代码的执行过程










二、垃圾回收器

1、记录每个对象被几个变量引用者,每过一个引用,记数+1
当一个变量的赋值成null时,表示不在引用对象,记数-1
2、回收不再被任何变量引用的对象时,记数为0,对象被回收。
注意:使用完一个较大的对象后,主动赋null值,清空对象

例:接上面的例子