作为我的应用程序的一部分,我正在组合一组未同时显示的小型Dom节点.我将它们存储在内部数组中.用户可以调用他们的显示,在这种情况下,我将它们重新显示到用于显示它们的div.这一切都很好.但是,当用新的替换所有这些时,我想要破坏旧的(有效地解除它们).否则,随着时间的推移,内存使用量可能呈指数级增长.如何强制浏览器js引擎执行此操作?只是将我的Dom节点数组中的每个项设置为null?我还有别的办法吗?或者也许我根本不用担心这个?
如果将每个项目设置为null,它们将自动进行垃圾回收.
是的,将项目设置为null应该没问题...除了必须使用Internet Explorer处理一些实现细节:它对循环引用的处理是狡猾的.请参阅http://msdn.microsoft.com/en-us/library/bb250448.aspx
循环引用 - 在Internet Explorer的COM基础结构和任何脚本引擎之间计算相互引用时,对象可能会泄漏内存
所以你必须在某些情况下打破循环引用.