为什么我们在调用HTML中的函数之前添加"javascript:"?

sen*_*ior 4 html javascript

我有这个代码:

<html>
<head>
    <script>
      function myFunction() {
        document.getElementById("demo").innerHTML="Hello World";
      }
    </script>
</head>
<body>
    <button onclick="javascript:myFunction()">Click me</button>

    <p id="demo"></p>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我改变 <button onclick="javascript:myFunction()">Click me</button>

 <button onclick="myFunction()">Click me</button>
Run Code Online (Sandbox Code Playgroud)

我的代码运行正常.

这是onclick="javascript:myFunction()"onclick="myFunction()"?之间的区别吗?

Guf*_*ffa 7

这是javascript:伪协议,已经丢失了.当您在URL中使用Javascript时使用它,例如:

<a href="javascript:alert('hi')">Hi</a>
Run Code Online (Sandbox Code Playgroud)

事件属性不支持:javascript协议,因此它不起作用.但是,它碰巧变成了与Javascript中的标签相同的语法,因此尽管协议位于错误的位置,代码仍然可以正常工作.

所以,总而言之,它:javascript不应该存在,而且只是幸运的是它仍然会在它发生的时候发挥作用.