【发布时间】:2011-02-09 20:40:44
【问题描述】:
一段时间以来,我一直在研究 Javascript 中的一些内存泄漏问题。我已经到了这样一个地步,我觉得至少一些泄漏的唯一解决方案是删除给定的 div,然后删除它的所有后代。意思是孩子、孙子等等。
现在我的印象是,如果我想这样做,我需要一个递归函数,但我对 Javascript 还是有点陌生。我什至不知道递归在 Javascript 中的工作方式是否与我习惯的方式相同。
我对如何做这种事情的任何想法持开放态度,也许我对递归的想法有些偏离。
【问题讨论】:
-
递归的工作原理是一样的——只是要小心使用用
var声明的局部变量而不是全局变量。 (请记住,变量具有函数作用域而不是通常的块作用域) -
stackoverflow.com/questions/683366/… 的可能重复项,如果不是,则该问题有有用的答案。
-
您在项目中使用了任何框架吗?我知道 jQuery 有一个
empty()方法,可以从元素中删除所有子元素。如果 Prototype / MooTools / etc 中没有等价物,我会感到惊讶。
标签: javascript memory-leaks tree