-1

Вопрос: Почему не установлен приемник событий?Установить приемник событий с функциями ES6 arrow

//ADDING THE EVENT LISTENER 
document.addEventListener('DOMContentLoaded', init); 

//DELCARING INIT, PASSING BLANK PARAM, STATEMENT 
var init =() => console.log('Is Firing'); 
+0

Должно быть достаточно легко поставить точку останова на строку 'addEventListener' и проверить переменную' init' в этой точке. http://ericlippert.com/2014/03/05/how-to-debug-small-programs/ –

ответ

2

Ваш init должен быть объявлен первым, прежде чем использовать его.

//DELCARING INIT, PASSING BLANK PARAM, STATEMENT 
 
var init =() => alert('Is Firing'); 
 

 
//ADDING THE EVENT LISTENER 
 
document.addEventListener('DOMContentLoaded', init);

+0

WTF, так просто. Спасибо! Я сошел с ума. –

+0

Мне придется ждать пару минут. –

+0

Рад, что это помогло, пожалуйста, отметьте это как правильный ответ. – void

-1

инициализация является функцией выражения, которое означает, что подъемный не бывает для него, так что вы должны тянуть выражение функции перед обязательным слушателем. Я предлагаю вам изучить функцию подъема. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/function#Function_declaration_hoisting

+0

Чтобы быть точным, переменная 'init' ** ** была поднята, поэтому она не генерирует' ReferenceError'. Однако переменная не получает значение до тех пор, пока не будет достигнута инструкция присваивания, что означает, что при упоминании в вызове 'addEventListener' его значение еще не определено. –