Пункт № 1: это глупое правило.Есть два способа назвать функцию по уважительной причине, и игнорирование того, что указание одного стиля довольно слабое, ИМО.
Ваша проблема, я думаю, в том, что ваша функция не была определена к тому времениВы получите addEventHandler
.Это из-за того, что называется «подъем».В этом процессе функции, названные с синтаксисом function myFunction() {}
, «поднимаются» наверх функции.Так что если вы вызываете их где-нибудь в функции, функция будет работать.Например, это будет работать:
el.addEventListener('click', foo);
function foo() {}
Функции, названные в стиле вашей организации, однако, не поднимаются.Объявление переменной есть, но значение не устанавливается, пока не будет достигнута эта строка кода.Так что это не сработает:
el.addEventListener('click', foo);
var foo = function() {};
Самый простой способ обойти это - переместить все ваши определения функций в верхнюю часть области, если нет веских причин для их определения позже.Так что это будет работать:
var foo = function() {};
el.addEventListener('click', foo);