Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保持对dom节点的引用:内存问题_Javascript_Html_Dom - Fatal编程技术网

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

Javascript 保持对dom节点的引用:内存问题,javascript,html,dom,Javascript,Html,Dom,我正在构建一个在线文本编辑器类型的应用程序(具有更多功能) 应用程序需要在dom中查找大量dom节点(用于para更新等)并更新节点。用户可能会在每个节点上执行很多操作,所以我想永久保留对节点的引用,而不是getElementById…等等 我认为随着dom节点数量的增加,脚本中的引用也会增加 这样做会对记忆产生什么影响 更确切地说,保存在内存中的引用是简单的引用吗 或者带一些沉重的元数据 谢谢 如果问题不清楚,请提问。Javascript是通过共享调用的,请参阅,因此它只是引用,没有元数据 我

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

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

我认为随着dom节点数量的增加,脚本中的引用也会增加

  • 这样做会对记忆产生什么影响

  • 更确切地说,保存在内存中的引用是简单的引用吗 或者带一些沉重的元数据

  • 谢谢


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

    Javascript是通过共享调用的,请参阅,因此它只是引用,没有元数据


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

    好的,为了让事情变得清晰和具体,下面是我所做的。我通过控制台向一个沉重的stackoverflow页面添加了一个按钮

    my btn=document.createElement('button')

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


    mybtn.onclick=function(){myar=[];对于(var i=0;i您能给我一个这些操作的例子吗,我只是想
    this
    var on events或event delegation会是最好的。什么是“节点”be以及哪些不是来自所述节点的操作将对其进行编辑?例如,我在编辑器中有10个段落,用户可以通过键入来更新,上下移动段落(以更改顺序),通过单击各种按钮来删除或设置样式。现在,如果我倾向于保留每个para节点的引用,这样我就可以处理所有这些操作,而不必一次又一次地查找dom。