我们在java脚本中有失效监听器问题吗?
如果我们订阅了一个事件,然后没有取消订阅它会导致Lapsed Listener问题。
答案 0 :(得分:0)
将我的评论写成答案,因为它似乎已经为你回答了问题。
如果您订阅了对象上的事件,那么该事件处理程序中的任何代码都是“可访问的”,并且该侦听器中引用的对象不能被垃圾回收。
这就是Javascript垃圾收集的设计方式。它不是一个“问题”,因为它是你必须学习才能正确使用Javascript的东西。如果你已经完成了一个监听器并且你正在监听的对象仍然存活(因此仍然可以再次调用监听器),那么从宿主对象中删除监听器 - 规则并不比那简单。