Подтвердить что ты не робот

Обработчик событий связывается с анонимной функцией vs named function

Я знаю, что .on() существует с jQuery и .bind() не следует использовать в будущем, учитывая, что у меня есть версия jQuery больше или равна 1.7.

Что я хочу знать, так это: существуют ли какие-либо различия между прикреплением анонимной функции или именованной функции к обработчику событий с помощью .bind()?

Пример:

// Anonymous function
$(".warning").bind("click", function(){
   alert("Hello");
});

// Named function
$(".warning").bind("click", foo);

function foo(){
   alert("Hello");
}

Предположим, что у меня есть 100 div с классом warning на моей странице. Функция .bind() добавит новую функцию к каждому обработчику с анонимной функцией, но будет ли она одинаковой с именованной функцией в самой внутренней части JavaScript и jQuery?

Спасибо.

4b9b3361

Ответ 1

Не будет заметной разницы в производительности.

Основное отличие состоит в том, что с помощью именованной функции вы также можете выборочно отменить функции, а не только все функции, связанные с типом события.

Конечно, это также поможет избежать дублирования кода.