Hai*_*ood 3 performance jquery caching jquery-selectors chaining
我想知道使用缓存选择器和使用链式选择器之间是否存在性能差异?
如果我正确理解链接,因为每个函数都返回jquery对象,这与缓存选择器中包含的内容完全相同.因此,下面两个例子中的性能没有区别吗?
$(function(){
$.on('click', '.disabled', function(){
$toggle = $(this);
$toggle.attr('title', 'Object Enabled');
$toggle.toggleClass('disabled enabled');
$toggle.html('Enabled');
});
});
Run Code Online (Sandbox Code Playgroud)
$(function(){
$.on('click', '.disabled', function(){
$(this)
.attr('title', 'Object Enabled')
.toggleClass('disabled enabled')
.html('Enabled');
});
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到
http://jsperf.com/jquery-chaining
差别可以忽略不计.
链式
$('#theDiv').addClass('test').removeClass('test');
59,874 Operations / Second
Run Code Online (Sandbox Code Playgroud)
单独调用(缓存)
var d = $('#theDiv');
d.addClass('test');
d.removeClass('test');
62,021 Operations / Second
Run Code Online (Sandbox Code Playgroud)