首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保持对dom节点的引用:内存问题

保持对dom节点的引用:内存问题
EN

Stack Overflow用户
提问于 2014-11-04 14:17:18
回答 2查看 130关注 0票数 1

我正在构建一个在线文本编辑器类型的应用程序(更多的功能)。

应用程序需要在dom中查找多个dom节点(用于分段更新等),并对节点进行更新。用户可能会对每个节点执行很多操作,所以我想永久地保留对节点的引用,而不是getElementById...etc。

我在想,随着dom节点数量的增加,脚本中的引用也会增加。

  1. 这样做会对记忆产生什么影响?
  2. 更准确地说,是保存在内存中的引用,它们是简单的引用还是带来了大量的元数据?

谢谢。

如果问题不清楚,请提出问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-06 09:43:58

好的,为了清楚和具体地说明,下面是我所做的。我通过控制台向一个沉重的堆栈溢出页面添加了一个按钮。

我的btn =document.createElement(按钮);

然后,在每次单击按钮时,我添加了一个对document.body的引用,如下所示:

mybtn.onclick =函数(){ myar=[];for(var i=0;i<10000;i++){ myari=document.body;}}

我执行了多次单击,并注意到每创建10000次引用,内存就会增加约0.5MB。

然后,我用一个空对象{}替换了document.body。

同样,每10000次引用的内存增加约为0.5MB。

因此,我们可以安全地得出结论,对dom节点的引用仍然是简单的引用,除非创建过度,否则不会影响内存。

PS :我用铬内存时间线做了内存分析。

票数 2
EN

Stack Overflow用户

发布于 2014-11-04 14:33:43

Javascript是按共享调用的,请参阅维基百科,因此它只是引用,没有元数据。

我不认为内存影响会太大,只要您不存储大量的对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26737377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档