有什么区别
<a onclick="someFunction">
和
<a onclick="someFunction()">
一个使用括号而不是另一个,但是使用其中一个有什么区别?什么是“正确”选项?如果我不使用任何href
属性会发生什么?
据我所知,在javascript中, usingsomething = someFunc();
将该函数的返回值分配给something
变量。并且 usingsomething = someFunc;
直接将函数(而不是其结果)分配给该变量(并且它主要用于将函数分配给事件)。例如,我可以为 onclick 事件分配一个函数。
但是我不明白的是,当在某些 html 元素内联事件中使用其中任何一个时会发生什么,如示例中所示,因为分配不是针对 javascript 变量,而是针对 html 属性,而这恰好是一个事件?请解释。
此外,将内联 onclick 函数分配给锚点(a
)与其他元素(例如span div label
等)是否有区别?它们有同样的效果吗?
旁注:我一直在这里阅读有关单击链接时如何运行函数的信息,并且我已经理解不应该“内联”,而是使用不显眼的 javascript。(我提到它是为了避免对此进行辩论),但在我看到的例子中,他们没有提到我在内联时提到的两个选项的区别。
编辑:之所以提出这个问题,是因为他们在这里给出了一个没有在事件函数中使用括号的答案,并且没有人提到需要括号,所以我认为它是有效的。但我不知道使用()
与不使用有什么区别。