因为内联事件(即指定为HTML属性)是如何工作的。
他们通常是一个糟糕的想法,因为有很多原因(见许多相关的帖子),但你的问题的答案是这样。
指定为HTML属性的事件以字符串的形式进行。本质上,当单击元素时,将对指定为属性值的字符串进行计算(这将为您提供一个线索,说明它们是个坏主意的原因之一)。因此,您可以想到导致以下JS运行的事件:
代码语言:javascript运行复制sayHello(); //<-- invoke callback如果这样做会导致以下情况发生,则不会发生任何情况:
代码语言:javascript运行复制sayHello; //returns reference to callback, to nowhere