繁体   English   中英

当元素不在视口中时,是否应该删除它?

[英]Should I remove an element when it is out of viewport?

当它从视口中转换出来并且不再输入时,是否应该使用jQuery(或者更快的纯JS)动态删除元素? 这会提高内存使用率或性能吗? 还是我应该忽略它要被垃圾收集器删除,因为它做得最好(如果本质上做到了)?

编辑:为了更清楚,这是一个实用的解释:

假设我有100个圈子使他们的transformX动画化了:

$("circle").each(function(i, el){
    $(el).animate({translateX: -100});
});

现在所有圆都不在视口中(因为SVG的坐标系从左上角0,0开始)。 我的代码中应该删除它,如下所示:

$("circle").each(function(i, el){
    $(el).animate({translateX: -100}, {complete: function()
    $(el).remove();
});
});

??

绝对没错!

垃圾收集器在后台工作,以释放不再使用的对象的内存。 但是除非您以某种方式放任不管(也就是说,告诉运行时系统您不再想要它),否则垃圾收集器只会在执行结束时处理它!

这是针对高级语言(例如javascript)开发人员的内存管理的非常好的指南。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM