Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
对一个对象有一个活动的 Object.observe 会阻止它被垃圾收集吗?您是否需要先调用 Object.unobserve 才能对其进行垃圾收集?还是 GCing 一个对象会删除它所有的活动观察者?
观察一个物体并不能让它保持活力。一旦对象死亡,它的观察者就不会再收到任何事件。至少在 V8 的实现中是这样的,这是迄今为止唯一的一个。如果有一天这个特性成为标准,假设它也适用于其他实现可能是安全的。
然而,观察保持其活跃的观察者活着,加上一些与每个观察者函数相关的内部堆分配数据结构。事实上,这些额外的数据只会在函数本身也死亡时才会死亡,即使它早已停止观察任何东西。