javascript:fnName()与normalfnname()的区别

Difference between javascript:fnName() and normalfnname()

本文关键字:区别 normalfnname javascript fnName      更新时间:2023-09-26

谁能解释一下:

onclick="javascript:fnName(this);"

……

onclick="fnName(this);"

是否有任何性能影响?或者什么时候用什么?

实际上没有,通常你不会写第一个。因为onclick处理程序是由JavaScript处理的,所以调用JavaScript来处理它将不是一个好的选择。

在事件属性上下文中,它是完全无用的。它主要用于href属性内部,并允许您创建一个伪onclick事件:

<a href="javascript:alert('hello')">click me</a>

你也可以把它放在你的浏览器的位置输入和运行脚本。它类似于控制台输入。

编辑:我意识到它并不是真的没用,但是它的用法和你想象的完全不同。在这些事件属性的上下文中,它的行为就像在正常代码中一样,所以它是一个标签。试试这个:
<div onclick="javascript:while(true){while(true){alert('hello');break javascript;}}">click me</div>