是其中一种语法更快,还是两者都一样

  • 本文关键字:都一样 一种 语法 jquery
  • 更新时间 :
  • 英文 :


我听说第二种语法要快得多。对吗?

$('div *')

$('div').find('*')

还是两者耗时相等?

编辑:


好吧,失望的人,让我们看看这个测试(感谢@AlienWebguy)。有人能解释一下吗?

确切的结果可能取决于页面HTML和特定的选择器查询,但是这个jsperf说,在我选择的HTML情况下,$('div').find('*')$('div *')慢得多。

对于这样一个有意义的问题,你必须指定一个精确的选择器和一个你要运行它的HTML体。

现在您已经添加了一个使用一些特定HTML(但不同的选择器)的测试,我想我会根据您在测试中询问的实际选择器运行该测试中的HTML,该测试实际测试您所询问的内容。在Chrome 13中,我发现$('div *')选择器9倍快$('div').find('*')在测试中对HTML运行时。您可以在这里看到jsperf

在Chrome 10中,我没有得到与jfriend00相同的结果

当我尝试DotNET Ninja给出的测试时,$('#div').find('*')$('#div *')快 61%。就我对jquery的理解而言,它更快,因为$('#div *')解释为$('#div').find('*'),所以这需要更长的时间。

但是jquery选择器已经被jquery开发人员优化了,你可能不会得到每个选择器组合的相同结果。

相关内容

最新更新