关于在对象属性中保存 DOM 个元素

About saving DOM elements in object properties

我想创建一个 UI 对象来保存对 DOM 对象和一些 UI 字符串的引用,这样我就可以在我的所有代码中使用它并且可以处理名称更改容易地。有点像这样:

var UI = {
    DOMelem0: document.getElementById('imUnique'),
    DOMelem1: document.getElementById('imSpecial')
};

但是,我认为每次访问 DOMelem0(通过调用 UI.DOMelem0)时,例如,我会调用 getElementById() 函数,会发生什么?

或者这与将 elem 存储在作用域变量中没有什么不同? (像这样:var elem = document.getElementById('cow');

我担心如果我有很多 UI 元素,这可能会导致任何性能问题,尽管我猜它们是最小的。无论哪种方式,我都不想一直调用 DOM 方法。 谢谢。

正在调用 UI.DOMelem0;不会调用 document.getElementById('imUnique').

document.getElementById('imUnique') 仅在您首次创建 UI 对象时调用。