为什么';这个JavaScript代码(作为HTML属性嵌入)能正常工作吗?

为什么';这个JavaScript代码(作为HTML属性嵌入)能正常工作吗?,javascript,html,javascript-events,onclick,Javascript,Html,Javascript Events,Onclick,为什么这样不行 <button onclick = "function(){alert('Hello');}">press me</button> 按我 虽然这样做: <button onclick = "alert('Hello');">press me</button> 按我 因为您不是在调用函数,而是在定义它 我不知道你为什么会这样,但你可以这样写: <button onclick="(function() { alert('He

为什么这样不行

<button onclick = "function(){alert('Hello');}">press me</button>
按我
虽然这样做:

<button onclick = "alert('Hello');">press me</button>
按我

因为您不是在调用函数,而是在定义它

我不知道你为什么会这样,但你可以这样写:

<button onclick="(function() { alert('Hello'); })()">press me</button>
按我

它们都能工作。第一个定义了一个函数,但没有调用它。第二个实际调用的是
警报

如果尝试定义和调用匿名函数,请尝试以下操作:

<button onclick = "(function(){alert('Hello');})()">press me</button>
按我

哦……好的。这就解释了!谢谢!