Я заимствую некоторые идеи кода из плагина jQuery lazyLoad и задаюсь вопросом, существует ли какая-либо реальная разница в производительности между двумя способами привязки к событию прокрутки ниже.
В частности, зачем использовать возврат? Есть ли там какая-то польза?
//how I wrote it
$(window).on('scroll', function(){
base.update();
});
//lazyLoad version
$(window).bind('scroll', function() {
return base.update();
});
Чтобы это было просто, я не дросселирую прокрутку здесь...
Если base.update()
иногда возвращает false
, то это повлияет на предотвращение действия по умолчанию для события, если значение возвращается обработчиком. (Я не уверен на 100%, что предотвращение действия по умолчанию для "прокрутки" действительно работает, я думаю, это может быть. Это, безусловно, верно для "щелчка" и других подобных.)
Если base.update()
ничего не возвращает, то возврат возвращаемого значения не будет иметь никакого эффекта. Я серьезно сомневаюсь, что какое-либо заметное влияние на производительность окажутся так или иначе.
jQuery.bind
, вы увидите, что это всего лишь оболочка для .on()
, что не влияет на производительность вообще.