gpt4 book ai didi

jquery - 是 jQuery 的 :first and :eq(0) selectors functionally equivalent?

转载 作者:行者123 更新时间:2023-12-03 21:57:41 25 4
gpt4 key购买 nike

我不确定是否使用 :first:eq(0)在选择器中。我很确定它们总是返回相同的对象,但是其中一个比另一个更快吗?

我确信这里有人一定之前对这些选择器进行了基准测试,但我不确定测试一个选择器是否更快的最佳方法。

更新:这是我跑的板凳:

/* start bench */
for (var count = 0; count < 5; count++) {
var i = 0, limit = 10000;
var start, end;
start = new Date();
for (i = 0; i < limit; i++) {
var $radeditor = $thisFrame.parents("div.RadEditor.Telerik:eq(0)");
}
end = new Date();
alert("div.RadEditor.Telerik:eq(0) : " + (end-start));
var start = new Date();
for (i = 0; i < limit; i++) {
var $radeditor = $thisFrame.parents("div.RadEditor.Telerik:first");
}
end = new Date();
alert("div.RadEditor.Telerik:first : " + (end-start));
start = new Date();
for (i = 0; i < limit; i++) {
var radeditor = $thisFrame.parents("div.RadEditor.Telerik")[0];
}
end = new Date();
alert("(div.RadEditor.Telerik)[0] : " + (end-start));
start = new Date();
for (i = 0; i < limit; i++) {
var $radeditor = $($thisFrame.parents("div.RadEditor.Telerik")[0]);
}
end = new Date();
alert("$((div.RadEditor.Telerik)[0]) : " + (end-start));
}
/* end bench */

我认为第三个是最快的,第四个是最慢的,但这是我得出的结果:

FF3:    :eq(0)  :first  [0] $([0])
trial1 5275 4360 4107 3910
trial2 5175 5231 3916 4134
trial3 5317 5589 4670 4350
trial4 5754 4829 3988 4610
trial5 4771 6019 4669 4803
Average 5258.4 5205.6 4270 4361.4

IE6: :eq(0) :first [0] $([0])
trial1 13796 15733 12202 14014
trial2 14186 13905 12749 11546
trial3 12249 14281 13421 12109
trial4 14984 15015 11718 13421
trial5 16015 13187 11578 10984
Average 14246 14424.2 12333.6 12414.8

我关于返回第一个原生 DOM 对象是最快的 ([0]) 是正确的,但我不敢相信在 jQuery 函数中包装该对象比两个 :first:eq(0)!

除非我做错了。

最佳答案

根据jQuery的源代码,.first()只是 .eq(0) 的便捷包装:

first: function() {
return this.eq( 0 );
},

JQuery/3.6.0起仍然如此。 .

关于jquery - 是 jQuery 的 :first and :eq(0) selectors functionally equivalent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1234087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com