-1

问题:为什么不设置事件监听器?使用ES6箭头功能设置事件监听器

//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调用中引用其值时仍未定义。 –