2016-09-22 8 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のdoesnの、私に日付を表​​示します」仕事。私の質問は:なぜJS DOMはこのように動作しますか?本当に何が起こっていますか?このような関数を呼び出さないか:function();

答えて

1

あなたが書いた:

something = functionName(); 

それはすぐに関数を呼び出して、それがsomethingに返す値を置くことを意味します。

あなたが書いた:

something = functioName; 

それがsomethingに関数への参照を置くことを意味するが、それを呼び出すことはありませ。これにより、後でその参照を使用して関数を呼び出すことができます。 somethingsomeElement.onclickの場合、ユーザーが要素をクリックするとこれが発生します。

関連する問題