2

可能重复:
自动执行匿名 JavaScript 函数的括号位置?
(function() {…}()); 之间有区别吗?和 (function() {…})();?
立即调用匿名函数的两种方式(function(d){ }() );和(函数(x){})();

给定的两种声明和调用匿名函数的方式之间有区别吗?

选项1:

(function(){
    console.log('Declare and call anonymous function');
})();

选项 2:

(function(){
    console.log('Declare and call anonymous function');
}()); 

这两个函数在评估后都会被调用。但我无法理解其中的区别。

4

1 回答 1

1

不,没有区别:这两个选项在语法上不同,但在语义上是等价的。考虑一个命名函数:

(foo())

对比

(foo)()

也许更清楚它们是如何相同的。

于 2012-05-02T18:50:43.363 回答