this
选择器能加快多少进程。在进行测试时,我决定尝试预先保存的元素变量,认为它们会更快。但是,在测试之前保存元素变量似乎是最慢的,这让我很困惑。我认为只需要“查找”元素一次就可以极大地加快进程。为什么不是这种情况呢?以下是我的测试结果,从最快到最慢,以防有人无法加载它:
1
$("#bar").click(function(){
$(this).width($(this).width()+100);
});
$("#bar").trigger( "click" );
2
$("#bar").click(function(){
$("#bar").width($("#bar").width()+100);
});
$("#bar").trigger( "click" );
3
var bar = $("#bar");
bar.click(function(){
bar.width(bar.width()+100);
});
bar.trigger( "click" );
4
par.click(function(){
par.width(par.width()+100);
});
par.trigger( "click" );
我本以为顺序应该是4,3,1,2,按照需要使用选择器来“查找”变量的频率排序。
更新:我有一个理论,但我希望有人能验证一下。我猜想在点击时,它必须引用变量,而不仅仅是元素,这会减慢速度。
(document.getElementById('bar').onclick = function() {this.style.width = this.offsetWidth+10+"px";})();
- Niet the Dark Absol