<p>Click button to display date</p>
<button type="button" id="button">Click</button>
<p id="paragraph"></p>
<script>
function display() {
var d = new Date();
document.getElementById("paragraph").innerHTML=d;
}
document.getElementById("button").onclick=display;
/* Why does above line shows same results shown by:-
document.getElementById("button").onclick=function() { display(); };
*/
</script>
&#13;
答案 0 :(得分:2)
在一种情况下,当您点击该按钮时,请拨打display
。
另一方面,当您点击该按钮时,您调用的函数除了调用display
之外什么都不做。
display
函数没有注意传递给它的参数,所以事件对象没有被传递的事实并不重要。
之间没有实际区别:
display(event);
和
function onclick() {
display();
}
onclick(event);
答案 1 :(得分:0)
查看MDN here
Onclick采用函数引用。您发布的两种方式之间没有区别,因为&#34;显示&#34;是一个函数引用,您输入的匿名函数也是一个函数引用。它恰好调用了它内部的显示。
答案 2 :(得分:0)
onclick想要一个函数引用。当onclick发生时,js调用传递给该项的函数。当你将“显示”传递给它时,然后调用display()。当你将“function(){...}”传递给它时,然后调用这个函数,你必须在其中调用display,而不仅仅是引用“display”,因为js只调用传递给onclick的函数,你必须调用其他功能你自己。