javascript - 使用 jQuery 多次选择同一个项目 vs 使用变量

标签 javascript jquery theory

理论上,以下哪一项在性能和/或内存方面会更好?换句话说,jQuery 是否必须多次选择同一个项目,或者它是否知道它过去选择了哪些项目?

我故意让 animate 不带任何参数,这是一个纯粹的理论问题。

$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();

var element = $("#someelement");
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();

最佳答案

肯定是选项 2。对于选项 1,jQuery 必须在每次动画之前找到 DOM 中的元素。

使用选项 2,元素会“缓存”在变量中,无需再次遍历 DOM。

关于javascript - 使用 jQuery 多次选择同一个项目 vs 使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3535033/

相关文章:

javascript - 实现到具有视差效果的 3D 变换的平滑初始过渡

javascript - 将 JavaScript 转换为 Groovy/Java

javascript - 拦截 AJAX 响应时推断请求方法

javascript - chrome 开发工具中为 $()​​ 和 $(this) 显示的 x.fn.x.init[] 值是什么

theory - 什么是 DSL,我应该在哪里使用它?

javascript - 前端开发 : where to start?

javascript - ReferenceError : 'x' is not defined - asp.net mvc 局部 View 和 jQuery/JavaScript - 将整个模型传递给操作方法

javascript - 在移动屏幕中从纵向移动到横向再回到纵向时,窗口元素在垂直方向上变得不可见?

algorithm - A* 算法检查图 k3 是否自由

machine-learning - U 矩阵和自组织映射