Зачем использовать return в обработчике событий?

0

Я заимствую некоторые идеи кода из плагина jQuery lazyLoad и задаюсь вопросом, существует ли какая-либо реальная разница в производительности между двумя способами привязки к событию прокрутки ниже.

В частности, зачем использовать возврат? Есть ли там какая-то польза?

 //how I wrote it
 $(window).on('scroll', function(){
       base.update();
   });

  //lazyLoad version
  $(window).bind('scroll', function() {
       return base.update();
  });

Чтобы это было просто, я не дросселирую прокрутку здесь...

  • 0
    производительность, нет Функциональность, да.
Теги:

1 ответ

3
Лучший ответ

Если base.update() иногда возвращает false, то это повлияет на предотвращение действия по умолчанию для события, если значение возвращается обработчиком. (Я не уверен на 100%, что предотвращение действия по умолчанию для "прокрутки" действительно работает, я думаю, это может быть. Это, безусловно, верно для "щелчка" и других подобных.)

Если base.update() ничего не возвращает, то возврат возвращаемого значения не будет иметь никакого эффекта. Я серьезно сомневаюсь, что какое-либо заметное влияние на производительность окажутся так или иначе.

  • 1
    Чтобы прокомментировать аспект производительности, если вы посмотрите на исходный код jQuery.bind , вы увидите, что это всего лишь оболочка для .on() , что не влияет на производительность вообще.
  • 0
    @PaulMougel о да, я даже не думал об этой разнице между ними, и вы, конечно, правы.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню