Tim*_*Tim 5 dom garbage-collection event-listener
如果事件侦听器附加到表的特定列中的每个单元格,然后从表中删除每一行,为了避免内存泄漏,开发人员是否有必要在删除行之前删除事件侦听器,或者浏览器会清理东西吗?
编辑:迈克尔建议的文章event delegation比将侦听器直接绑定到表中的每个单元格的性能更好,但我不确定从垃圾收集的角度来看它是否更好,或者只是表现更好。请给出意见。从文章:
$('table').on('click', 'td', function () {
$(this).toggleClass('active');
});
Run Code Online (Sandbox Code Playgroud)
据说优于:
$('table td').on('click', function () {
$(this).toggleClass('active');
});
Run Code Online (Sandbox Code Playgroud)
EDIT2:和。对jQuery的文档()和事件代表团也着重于性能,但是从当行被重复删除的垃圾收集的角度发生了什么问题集体从一张大桌子和细胞点击正在由委托机制听取,仍然存在。
Mic*_*ael -2
我不确定,但我想这篇精彩的文章会清理一切(搜索“垃圾收集”):http://coding.smashingmagazine.com/2012/11/05/writing-fast-memory-efficient-javascript/