gpt4 book ai didi

javascript - 哪种方式更好?将 DOM 对象存储在对象数组或直接 dom 操作中?

转载 作者:行者123 更新时间:2023-11-30 18:38:31 24 4
gpt4 key购买 nike

标题可能不太清楚,但让我解释一下“哪种方法更好?将 DOM 对象存储在对象数组或直接 dom 操作中?”的意思。

我有一个 DOM 对象列表用于解释:

<ul>
<li></li>
...
</ul>

li 是动态的,它们会根据某些操作进行更新。

我们的要求是,检查列表是否已经包含一个与新元素具有相同文本的元素,例如考虑一个文件列表并重命名一个节点,如果该名称已经存在,则删除所有包含的 DOM 对象相同的文本并生成最新的文本(希望已经很清楚了)。

现在,我和我的一个同事正在讨论,讨论如下,

我的同事说,将 DOM 对象存储在对象数组中,然后将它们附加到列表中,当执行假定的重命名操作时,循环遍历存储对 DOM 元素的引用的对象数组并执行删除操作然后生成新的节点操作,因为他认为从 DOM 中获取元素的效率会更低。

我的想法是,不要存储列表并消耗内存,因为 DOM 可能会在任何给定时间点更新,所以每次你想删除和添加节点时,获取列表进行循环并执行操作,因为我相信如果你存储列表,你正在消耗内存,一旦你更新 DOM,你将不得不再次更新数组,否则它会存储对旧 DOM 对象的引用,这会降低效率。

所以请帮我了解一下您认为哪种方法/想法是有效的,为什么?

最佳答案

即使您维护一个 DOM 元素数组,当您更新它们时,Javascript 仍然必须在 DOM 中搜索元素。我认为您通过创建增加的复杂程度是完全没有必要的。假设自定义数组方法会更有效也几乎假设您将能够使此代码比浏览器开发人员能够在各自的浏览器中制作 Javascript 引擎更高效。可能不是一个安全的赌注。

关于javascript - 哪种方式更好?将 DOM 对象存储在对象数组或直接 dom 操作中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7526617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com