Javascript DOM内存与CPU管理

Javascript DOM内存与CPU管理,javascript,dom,elements,Javascript,Dom,Elements,我正在创建一个逐步构建的单个页面(如果启用了Javascript)“blog”,它使用AJAX为用户导航到的新页面请求HTML 当用户导航到新页面时,它们将在一个小窗口中以“overflow:hidden;”一个接一个地添加到DOM中: 当AJAX调用返回success时,div将追加到#bar中 当在#foo宽度之外有很多隐藏页面时,它将如何影响浏览器 当用户离开div时,是否需要从DOM中删除div?然后,如果用户选择再次导航到AJAX,我需要发出一个新的AJAX请求:( 谢谢 Will

我正在创建一个逐步构建的单个页面(如果启用了Javascript)“blog”,它使用AJAX为用户导航到的新页面请求HTML

当用户导航到新页面时,它们将在一个小窗口中以“overflow:hidden;”一个接一个地添加到DOM中:


当AJAX调用返回success时,div将追加到#bar中

当在#foo宽度之外有很多隐藏页面时,它将如何影响浏览器

当用户离开div时,是否需要从DOM中删除div?然后,如果用户选择再次导航到AJAX,我需要发出一个新的AJAX请求:(

谢谢


Willem

现代浏览器布局引擎通常足够智能,不会处理隐藏的元素,因此不会占用太多CPU资源。但是,在某些浏览器中,添加大量具有高度复杂对象图的节点可能会很昂贵,因此我会小心处理。还要注意的是,即使它们没有布局,它们仍然存在作为DOM的一部分,如果这些节点很大,内存使用可能会成为一个问题。

无论人们说GC能为您做什么,无论是在JavaScript、C#还是Java中,都要小心并忘记自动管理的愚蠢承诺。明确地清理它并好好睡一觉


非常简单的原因:当您脱离最简单的场景时(brower的JavaScript和C#/java都是这种情况),闭包泄漏和泄漏非常严重.

请定义GC。作为一名初学者,我也很难理解闭包的含义。感谢SGC、垃圾收集器、浏览器的一部分、运行时和偶尔的操作系统虚拟内存管理器。为了理解闭包,当你深入了解函数风格、lambdas和一些代理用法时,这一点很重要p、 这是值得的。去掉“.Be”部分(stackoverflow上的标记解释器有经典的问题)…只需谷歌在喜欢的语言中使用特定的闭包,无论是JS、C#还是Java。
<div id="foo" style="width:200px; height:100px;">
  <div id="bar" style="width:999999px">
  </div>
</div>