当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《为什么这种函数调用在JavaScript中是错误的?》经验,为你挑选了1个好方法。

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

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

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

2)用()包装函数定义并且它可以工作.

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

3)或者,将匿名函数分配给变量.有用.

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

为什么第一种方式不起作用?



1> sth..:

在ECMAScript语言规范,12.4节,说:

一个ExpressionStatement不能与启动function关键字,因为这可能使含糊带 FunctionDeclaration.

因此,不允许使用您的案例1,因为这可能会导致语言含糊不清.其他情况是不同类型的语句(不是ExpressionStatement),其中这不是问题,因此允许构造在那里.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有