如果经常需要分配元素,全局变量vs局部变量
Global vs local variables if allot of elements are needed often
我读了很多次,以避免全局变量,而且局部变量更快。但如果我有很多元素,我选择的id和需要他们在分配函数吗?每次执行函数时,DOM都会再次搜索元素…将元素缓存在全局不是更快吗?
是的,但是在这种情况下,您应该简单地找到一次元素,然后将集合作为参数传递给需要它的所有函数。
这样每个人都很高兴:DOM只搜索一次,仍然没有全局变量。
或者,您可以使用单个全局函数来执行查找,该函数包含一个缓存,因此不必重复读取dom。例子:
function lookupElementById(id) {
if(lookupElementById.elementCache[id] !== undefined) lookupElementById.elementCache[id] = document.getElementById(id);
return lookupElementById.elementCache[id];
}
lookupElementById.elementCache = {}
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 从Javascript方法返回全局变量
- AngularJS中的封装窗口全局变量
- javascript隐式全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使全局变量仅特定于该文件
- 在page.open()-PhantomJS中无法访问全局变量
- 使用全局变量来存储数字(JavaScript)
- 如何将变量声明为全局变量
- 在节点中创建文件全局变量
- 在Javascript中使用全局变量作为缓存是很好的
- 创建要在其他函数中使用的全局变量
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 全局变量 VS Web 应用中的本地存储和内存问题
- 全局变量分配节点从脚本vs命令行
- 如果经常需要分配元素,全局变量vs局部变量
- javascript vs jQuery自定义/全局变量范围