2016-09-22 78 views
0

我正在學習JS,並且我有一個我不明白的例子。 當我們調用函數像這樣它的工作原理:使用HTML DOM分配事件JS

 <button onclick="displayDate()">Try it</button> 

這也適用於:

<script> 
     document.getElementById("myBtn").onclick = displayDate; 

     function displayDate() { 
     document.getElementById("demo").innerHTML = Date(); 
     } 
    </script> 

但是,當我改變這種displayDatedisplayDate()它讓我看到日期加載頁面時,這樣的onclick沒有按」工作。我的問題是:爲什麼JS DOM會像這樣工作?究竟發生了什麼?我們是不是要調用這樣的函數:function();

回答

1

當你寫:

something = functionName(); 

這意味着立即調用的函數,然後把它返回到something值。

當你寫:

something = functioName; 

就意味着付諸函數的引用到something,但不能把它。這允許稍後使用該引用來調用該函數。當somethingsomeElement.onclick時,這發生在用戶點擊元素時。