-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調用中引用其值時仍未定義。 –