1、js垃圾自动回收机制
垃圾回收:即释放掉js中数组、字符串、对象等的内存
自动回收机制:即垃圾收集器会按照固定的时间间隔或代码执行中预定的收集时间,周期性地执行一些操作=>找出不再继续使用的变量,然后释放其占用的内存。
垃圾回收的方法常有:标记清除法、引用计数法。
2、标记清除
标记清除理解:根据不可清除的变量(如:全局变量)等形成一个个根节点,在根据一个个根节点向下衍生可以访问到(连接到)的变量,对这些可访问的进行标记,同时清除那些不可访问的变量
例如:
var a = { name:'a' };
a引用了name为'a'的对象;var b = a;
b也引用了name为'a'的对象a = null;
a不再引用对象,但此时b可访问到对象,所以对象不可删除;b = null;
b也不再引用对象,所以name为'a'的对象没办法访问到,对象将被清除内存;