优点 发现垃圾时立即回收最大限度减少程序暂停 缺点 无法回收循环引用的对象 ```javascript function fn () { const obj1 = {} const obj2 = {} // 全局已经找不到 obj1 和 obj2 了// 但是这里他们两个互相有指引,引用计数器并不为 0// 这就是对象之间的循环引用obj1.name = obj2obj2.name = obj1return 'yf'} fn() ``` 时间开销大