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

时间:2014-02-22 04:45:43

标签: javascript performance

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

var a = documentCreateElement('a');

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

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

哪个流程会占用更多资源?

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

    • B:或者,元素a已经缓存在 a 中,将对象直接附加到 a ,因此避免一起回收元素。

例如选择B:

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

1 个答案:

答案 0 :(得分:0)

我会打赌很多缓存版本更快,因为解析复杂的文档可能很昂贵而且你保留了一个指向js对象的指针。但是,确定你必须测试它。请务必使用与您要发布的内容等效复杂的html文档。