gpt4 book ai didi

javascript - find ('a,b' ) 比 find ('a' )+find ('b' 慢,为什么?

转载 作者:数据小太阳 更新时间:2023-10-29 06:13:13 28 4
gpt4 key购买 nike

jsperf's link

我不是 jQuery 专家(甚至不是一个好的用户),我没有研究它的整个源代码(只有一小部分不能帮助我解决这个问题)。

有人可以为我解释一下吗?

最佳答案

这个:

$p.find("input,select");

...使用 native querySelectorAll

这个:

$p.find("input");
$p.find("select");

...使用 native getElementsByTagName

getElementsByTagName 速度更快,可能是因为它是一个非常简单的选择,并且存在时间更长,因此有更多时间进行优化。

此外,当 jQuery 使用 querySelectorAll 时,它会从 document 中执行此操作,即使您是从指定的上下文中搜索也是如此,因此这会产生影响。为了将结果缩小到您提供的上下文,它会更改您的选择器以使用元素的 ID,或者如果不存在则为其提供一个临时 ID。


updated your test多给几个比较。表明如果您真的很关心性能,则应该使用 native API。

关于javascript - find ('a,b' ) 比 find ('a' )+find ('b' 慢,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712850/

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