我正在学习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();
吗?
答案 0 :(得分:1)
当你写:
something = functionName();
表示立即调用该函数,然后将其返回的值放入something
。
当你写:
something = functioName;
它意味着将函数的引用放入something
,但不要调用它。这允许稍后使用该引用调用该函数。当something
为someElement.onclick
时,会在用户点击元素时发生这种情况。