Я делал этот тестовый пример, чтобы узнать, как много с помощью селектора 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, в соответствии с которым нужно использовать селектор, чтобы "находить" переменную чаще.
ОБНОВЛЕНИЕ: У меня есть теория хотя я бы хотел, чтобы кто-то подтвердил это, если это возможно. Я предполагаю, что при щелчке он должен ссылаться на переменную, а не только на элемент, который замедляет ее.