作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当元素从视口(viewport)中翻译出来并且不会再次进入时,我是否应该使用 jQuery(或纯 JS,如果更快的话)动态删除该元素?这会提高内存使用率或性能吗?或者我应该忽略它被垃圾收集器删除,因为它做得最好(如果它本质上是这样做的)?
编辑:为了更清楚,这里有一个实用的解释:
假设我有 100 个具有 TranslateX 动画的圆圈:
$("circle").each(function(i, el){
$(el).animate({translateX: -100});
});
现在所有的圆圈都在视口(viewport)之外(因为 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
关于javascript - 当元素超出视口(viewport)时我应该删除它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713689/
我正在尝试获得一个按钮,按下该按钮时会改变颜色。当再次按下时,它应该变回原来的颜色。我究竟做错了什么? 我的模板中的按钮: export default { data: {
我是一名优秀的程序员,十分优秀!