javascript:函数语法是什么意思

What does javascript:Function syntax mean?

本文关键字:是什么 意思 语法 函数 javascript      更新时间:2023-09-26

查看此处

javascript:Function("alert('this is ok')")();

new Function("alert('this is ok')")();

语法叫什么?

任何参考 ?

编辑

对不起,我的错,这只是一个标签,不等于new

<script>
    javascript:C("val");
    wener:C("val");
    function C(v)
    {
        this.val = v;
        alert(window.val)
    }
</script>
<a href="javascript: alert('foo');">click me</a>

有关<a href="javascript: alert('foo');">click me</a>请参阅URI_scheme(感谢apsillers)和draft-hoehrmann-javascript-scheme

被称为"在属性中使用JavaScript的旧方法",仅在HTML中相关。

你也可以写:

poop:Function("alert('ohai')")();

您的示例只是 JavaScript 代码,而不是 HTML 属性,因此它只是一个标签。

指定完全限定链接时,冒号左侧的文本称为方案

<a href="https://example.com/foo">foo</a>
           ^ scheme is "https"

浏览器允许您在 HTML 标记中指定javascript方案,在这种情况下,浏览器将冒号右侧的链接内容解释为要执行的脚本,而不是目标资源。

<a href="javascript:alert('I am a script, formatted as a link!')">foo</a>
            ^ scheme is "javascript"

(请不要这样做;请改用addEventListener("click", function() { ... })

但是,如果在非链接上下文中包含 javascript: 前缀,则会将其解释为 JavaScript 标签。这是完全没有必要的。

当您想在浏览器的地址栏中执行 JavaScript 时,可以使用此方法。将javascript:Function("alert('this is ok')")();复制/粘贴到浏览器的地址栏中,然后按 Enter。