在函数表达式上 - 立即自我调用匿名函数

时间:2016-10-16 03:12:21

标签: javascript

我试过这个并且有效:

a = function(){alert("Hello World")};
a();

然而,这不是:

function(){alert("Hello World")}();

对我来说很奇怪,因为我虽然它是一样的。

2 个答案:

答案 0 :(得分:0)

自我调用函数/ IIFE是创建然后立即调用的东西 您可以将代码更改为以下



(function(){alert("Hello world")})();




你在哪里立即声明和调用 希望这有帮助

答案 1 :(得分:0)

任何以' function'开头的JavaScript行根据语法分析器被视为函数声明。功能声明不能是匿名的,不能立即调用。因此,您需要将函数声明作为函数表达式,以便它可以是匿名的,并且可以立即调用它。要将函数声明作为函数表达式,需要在(和)中包含函数声明。然后它可以立即调用。尝试使用以下任何一种方法。

(function(){alert("Hello World")})();

(function(){alert("Hello World")}());