使用HTML DOM JS分配事件

时间:2016-09-22 16:05:01

标签: javascript html dom

我正在学习JS,我有一个我不明白的例子。 当我们调用这样的函数时,它可以工作:

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

这也有效:

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

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

但是当我将此displayDate更改为displayDate()时,它会显示加载页面的日期,因此onclick不起作用。我的问题是:为什么JS DOM会像这样工作?真的发生了什么?我们不是要调用这样的函数:function();吗?

1 个答案:

答案 0 :(得分:1)

当你写:

something = functionName();

表示立即调用该函数,然后将其返回的值放入something

当你写:

something = functioName;

它意味着将函数的引用放入something,但不要调用它。这允许稍后使用该引用调用该函数。当somethingsomeElement.onclick时,会在用户点击元素时发生这种情况。