title: 闭包是否严重影响GC性能？
desc: 闭包中的资源在回调之前都无法被GC释放，如果将过多的资源放在闭包中，回调时GC的压力就会过高。例如，有多个客户共享一个3D模型，任意一个客户修改3D模型都会导致模型被重新载入，如果，对客户操作的监听采用异步模式，则每个闭包都需要包含该3D模型的引用，当某个客户修改3D模型后，实际上该3D模型已经失效，但由于其他客户没有进行操作，异步句柄没有返回，则该3D模型无法及时得到释放（如果一直不返回，则一直得不到释放）。设计JS引擎时，如何避免这样的问题？例如，可以将强引用改为弱引用，等等。
topic: JavaScript
content: 这跟你创建了一个类，然后把一大堆东西塞进成员变量里并没有任何区别，是不是你也不要使用类了？
answerer_tags: 专业造轮子，拉黑抢前排。gaclib.net