如果经常需要分配元素,全局变量vs局部变量

Global vs local variables if allot of elements are needed often

本文关键字:全局变量 vs 局部变量 元素 分配 常需 如果      更新时间:2023-09-26

我读了很多次,以避免全局变量,而且局部变量更快。但如果我有很多元素,我选择的id和需要他们在分配函数吗?每次执行函数时,DOM都会再次搜索元素…将元素缓存在全局不是更快吗?

是的,但是在这种情况下,您应该简单地找到一次元素,然后将集合作为参数传递给需要它的所有函数。

这样每个人都很高兴:DOM只搜索一次,仍然没有全局变量。

或者,您可以使用单个全局函数来执行查找,该函数包含一个缓存,因此不必重复读取dom。例子:

function lookupElementById(id) {
    if(lookupElementById.elementCache[id] !== undefined) lookupElementById.elementCache[id] = document.getElementById(id);
    return lookupElementById.elementCache[id];
}
lookupElementById.elementCache = {}