具有性能的范围,删除不再需要的元素是否有意义?或者浏览器在dom元素上执行自动垃圾收集,代码中没有进一步引用?
$('some_element').fadeOut(1000,function(el){ $(el).remove(); // <-- does this make sense at all? });
解决方法
这段代码:
$('some_element').remove();
告诉浏览器您已完成该元素,并且不再需要它在DOM中.如果您的javascript中没有任何其他引用,该垃圾回收器将释放它使用的内存.
如果不删除它,那么只要显示该网页,DOM元素将保留在您的网页中.它不会被垃圾收集,因为浏览器无法知道你是否打算留在页面中.
手动删除不再需要的DOM元素是一个很好的做法.
但是,在99%的情况下,以任何方式都不重要,因为一个DOM元素使用的内存与网页使用的总体内存相比是微不足道的.无论如何,当用户转到另一个网页时,网页中的所有内容都将被释放.
主要的时间,它使一个重要的区别是释放这样的东西是当你一遍又一遍地进行相同的操作(在一个大循环,一个定时器等).在这种情况下,您不希望对象堆积并在页面使用时消耗越来越多的内存.