编写对jQuery函数的单独调用或使用单个链会更快吗?如果对为什么一个比另一个更快的原因进行了补充说明,将不胜感激:-)
一个例子:
$('#blah_id').niftyjQueryMethod1().niftyjQueryMethod2();
快于/慢于
$('#blah_id').niftyjQueryMethod1();
$('#blah_id').niftyjQueryMethod2();
最佳答案
在您的示例中,链接速度更快。
// Example 1
$('#blah_id').niftyjQueryMethod1().niftyjQueryMethod2();
// Example 2
$('#blah_id').niftyjQueryMethod1();
$('#blah_id').niftyjQueryMethod2();
在示例1中,创建jQuery对象(
$('#blah_id')
)的调用仅进行了一次。在示例2中,它被制作了两次。这意味着第二次通话会变慢。如果您不想将它们全部放在一个链中,则可以将选择内容缓存在一个变量中:
var blah = $('#blah_id');
blah.niftyjQueryMethod1();
blah.niftyjQueryMethod2();
假设这些方法不影响选择选择中存在的元素(例如
parent
,find
或filter
这样做),则与示例1几乎完全相同。