代码之家  ›  专栏  ›  技术社区  ›  Morgan Cheng

为什么这种函数调用在JavaScript中是错误的?

  •  5
  • Morgan Cheng  · 技术社区  · 15 年前

    我想创建一个匿名函数,然后立即调用它。

    1) 这将带来语法错误。为什么?

    function ()
    {
        alert("hello");
    }();
    

    (function ()
    {
        alert("hello");
    })();
    

    3) 或者,将匿名函数赋给一个变量。它起作用了。

    var dummy = function()
    {
        alert("hello");
    }();
    

    1 回复  |  直到 15 年前
        1
  •  12
  •   sth ACP    15 年前

    这个 ECMAScript Language Specification ,第12.4节说:

    无法启动 与 function 关键字因为 可能会让它变得模棱两可 .

    所以你的案例1是不允许的,因为它可能会导致语言的歧义。其他情况是不同类型的陈述(不是 表达陈述