Javascript 性能:将变量附加到缓存的 dom 元素与通过 id 附加 id 调用



假设我们有一个要求,其中元素可以存在于多个状态中。

var a = documentCreateElement('a');

要检查元素 a 处于哪种状态并保留活动状态的日志,我有这个对象:

var state = {
    all_states = ['State 1', 'State 2', 'State 3'],
    active = 'State 2'
}

哪个过程将更占用资源?

  • A : 将 ID 附加到 检查状态对象中的状态?并通过 ID 调用元素来修改元素(假设更改 ahref)。

    • B :或者,元素 a 已经缓存在 a 中,将对象直接附加到 a,从而避免将元素全部重新缓存在一起。

例如选择 B:

a.state = state;
// Check state by checking a.state.active

我敢打赌缓存版本更快,因为解析复杂文档可能很昂贵,并且您保留了指向 js 对象的指针。但是,为了确保您必须对其进行测试。请确保使用与要发布的内容具有相同复杂性的 html 文档。

最新更新