gpt4 book ai didi

jquery - 如果多次使用 $(this) ,我应该在 jQuery 中缓存它吗?

转载 作者:行者123 更新时间:2023-12-03 22:47:17 25 4
gpt4 key购买 nike

我知道如果您多次使用选择器,您应该缓存它的结果。一个例子是:

var $selected = $('.some-selected-element');

process($selected);
doStuff($selected);

但是,如果多次使用 $(this),缓存是否有任何性能优势?

$('.some-selector').hover(function () {
if (!$(this).hasClass('some-other-class')) {
$(this).addClass('another-class');
}
process($(this));
}

最佳答案

是的,性能有所提高,因为它可以防止 jQuery 解释您的选择器。

这是选择器的解释,以及您将绕过的内容。 https://github.com/jquery/jquery/blob/master/src/core.js#L78-188

本质上,这部分

if ( selector.nodeType ) {
this.context = this[0] = selector;
this.length = 1;
return this;
}

关于jquery - 如果多次使用 $(this) ,我应该在 jQuery 中缓存它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6587687/

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