js 中最常用的垃圾回收方式就是标記清除当变量进入环境时,例如在函数中声明一个变量,就将这个而变量标记为“进入环境”从逻辑上讲,永远不能释放进入环境嘚变量所占用的内存因为只要执行流进入相应的环境,就可能会用到它们而当变量离开环境时,则将其标记为“离开环境”
这是最簡单的垃圾收集算法。此算法把“对象是否不再需要”简化定义为“对象有没有其他对象引用它”如果没有引用指向该对象(零引用),对象将被垃圾回收机制回收
Netscape Navigator3 是最早使用引用计数策略的浏览器,但很快它就遇到了一个严重的问题:循环引用循环引用指的是对象 A Φ包含一个指向对象 B 的指针,而对象 B 中也包含一个指向对象 A 的引用