一、数组的存储类型:数组是引用类型的对象
引用类型:数据无法直接保存在变量本地的数据类型。
因为变量只允许保存一个值,而引用类型往往保存多个值。
会在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
值,清空对象