在性能范围内,删除不再需要的元素是否有意义?或者浏览器是否对代码中未进一步引用的 dom 元素执行自动垃圾收集?
$('some_element').fadeOut(1000, function(el){
$(el).remove(); // <-- does this make sense at all?
});
这段代码:
$('some_element').remove();
告诉浏览器您已完成该元素的处理,并且在 DOM 中不再需要它。如果您的 javascript 中没有对该元素的任何其他引用,则垃圾收集器将释放它使用的内存。
如果您不删除它,那么只要该网页显示,DOM 元素就会保留在您的网页中。它永远不会被垃圾收集,因为浏览器无法知道您是否打算将其保留在页面中。
手动删除不再需要的 DOM 元素是一个很好的做法。
但是,在 99% 的情况下,这并不重要,因为与网页使用的总体内存相比,一个 DOM 元素使用的内存是微不足道的。无论如何,当用户转到另一个网页时,网页中的所有内容都将被释放。
释放这样的东西确实会产生重大影响的主要时间是当你一遍又一遍地执行相同的操作时(在一个大循环中,在计时器上,等等......)。在这种情况下,您不希望对象随着页面的使用而堆积并消耗越来越多的内存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)