Mar*_*kus 6 performance jquery jquery-selectors
我知道如果您多次使用它,您应该缓存选择器的结果.一个例子是:
var $selected = $('.some-selected-element');
process($selected);
doStuff($selected);
Run Code Online (Sandbox Code Playgroud)
但$(this)如果多次使用缓存,是否有任何性能优势?
$('.some-selector').hover(function () {
if (!$(this).hasClass('some-other-class')) {
$(this).addClass('another-class');
}
process($(this));
}
Run Code Online (Sandbox Code Playgroud)
是的,性能会有所提高,因为它会阻止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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |