gpt4 book ai didi

javascript - 为什么括号用于在元素的 onClick 标记内调用函数而不是在元素的 onclick 属性中?

转载 作者:行者123 更新时间:2023-11-29 10:01:32 34 4
gpt4 key购买 nike

我在一本书中读到,在将函数分配给元素的 onclick 属性时,我们不必使用括号。

<input type="button" value="Click" onClick="sayHello();" id="button1">
var b1=document.getElementById("button1");
b1.onclick=sayHello;

为什么我们在上述元素的 onClick 属性中使用括号?

最佳答案

由于内联事件(即指定为 HTML 属性)的工作方式。

出于多种原因(请参阅许多相关帖子),它们通常不是一个好主意,但您的问题的答案是这样的。

指定为 HTML 属性的事件以字符串形式完成。本质上,当元素被点击时,指定为属性值的字符串被求值(这应该让您知道它们不是一个好主意的原因之一)。为此,你可以想到导致以下JS运行的事件:

sayHello(); //<-- invoke callback

如果它导致以下运行,则不会发生任何事情:

sayHello; //returns reference to callback, to nowhere

关于javascript - 为什么括号用于在元素的 onClick 标记内调用函数而不是在元素的 onclick 属性中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55940424/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com