jquery - jQuery 对象数组的性能

标签 jquery performance

我有一个全局数组,其中包含我当前正在使用的元素的 ID。每一秒我都会运行一个对这些元素进行处理的例程。

var ids = ['abc', 'def', 'zyx']

// the following code happens every second
for (var i = 0; i < ids.length; i++) {
  el = $("#" + ids[i])
  // do stuff with el
}

我的问题:执行以下操作是否会导致性能显着下降或改进:

var ids = []
ids.push($("#abc"))
ids.push($("#def"))
ids.push($("#zyx"))

for (var i = 0; i < ids.length; i++) {
  el = ids[i]
  // do stuff with el
}

最佳答案

您不会看到任何显着性能增长,但这只是一个好习惯 - 不要两次请求该事物,只要您可以在某处保留一次即可。

所以我的最后建议:仅缓存 jquery 对象一次,然后使用 jquery 对象数组

关于jquery - jQuery 对象数组的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109148/

相关文章:

PHP JavaScript MapBox 尝试找出如何传递标记的自定义数据

javascript - Intranet 站点的积极缓存与 Javascript 文件组合

javascript - 即使没有任何变化,触摸 DOM 是否会触发回流和重绘?

jquery - 使用 jQuery 声明包含事件节点列表的变量

Javascript单元素下拉菜单

jquery - 可以让 jQuery 的 map 不排序吗?

jquery 检测输入文件类型返回空

performance - 在UNIX中分割文件

css - 更多 CSS,更少 HTML?

python - 是否有函数调用可以替代此代码中的 for 循环?