javascript - 在 JQuery 中查找节点的成本是多少?

标签 javascript jquery

我总是保存 find() 的结果,以避免在多次需要该值时遍历多个子树:

var $a_bar = $('div.foo').find('a.bar');
$a_bar.removeClass(...);
// ... code here
$a_bar.bazz();

代替

$('div.foo').find('a.bar').removeClass(...);
// ... code here
$('div.foo').find('a.bar').bazz();

我想知道这是否不是微优化...那么在 JQuery 中查找节点的成本/复杂性是多少?

最佳答案

你可以在 js perf 上测试它:http://jsperf.com/ 只需创建一个测试并运行它。

我在这里创建了一个小测试:http://jsperf.com/jquery-find55

在我的浏览器(firefox 18)上:

  • 测试 1(我保存查找结果)以每秒 7,074 次操作得分
  • 测试 2(我不保存查找结果)以每秒 1,553 次操作得分

所以,是的,find 很“慢”,将它存储在变量中绝对是个好主意。

关于javascript - 在 JQuery 中查找节点的成本是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14464057/

相关文章:

javascript - 在 backbonejs 中处理 csv 响应

javascript - React 在每个 Material ui 选项卡开关上重新创建我的组件

javascript - 在Javascript中生成4个随机数,它们添加到某个值

jquery - 使用 Href Id 添加图像,使用 CSS

jquery - 从 iframe 中选择 iframe 父级

javascript - jquery 可拖动和可调整大小不能在动态生成的元素中一起工作

javascript - 将 Bootstrap 模式显示到最右侧

javascript - 错误 : Failed to execute 'send' on 'XMLHttpRequest' : Failed to load 'file' : AngularJS SPA

jquery - StellarJs 视差背景图像不起作用

javascript - 通过两个属性进行 HTML 搜索