前端之家收集整理的这篇文章主要介绍了
有太多dom节点的Javascript性能问题?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在调试一个ajax聊天,只是无休止地用DOM元素填充
页面.如果你有3个小时的聊天时间,你最终会知道有多少个DOM节点.
与极端DOM使用相关的问题是什么?
用户界面是否可能完全没有响应(特别是在Internet Explorer中)?
(与此问题相关的当然是解决方案,如果除了手动垃圾收集和删除dom节点之外还有其他任何解决方案.)
大多数现代浏览器应该能够很好地处理巨大的DOM树.而“大多数”通常不
包括IE.
所以是的,你的浏览器可能会变得没有响应(因为它需要太多的RAM – >交换)或因为它的渲染器只是不堪重负.
标准解决方案是删除元素,比如在页面有10,000行的聊天之后.甚至100’000线也不应该成为一个大问题.但是我开始对比这大得多的数字感到不安(比如数百万行).
[编辑]另一个问题是内存泄漏.即使JS使用垃圾收集,如果你在代码中出错并在全局变量中保留对已删除DOM元素的引用(或者从全局变量引用对象),即使页面本身只包含少量内容,也会耗尽内存千元素.
原文链接:https://www.f2er.com/html/226443.html