(function(){})()之间的区别是什么?和(function(){}());?

时间:2014-03-19 18:13:32

标签: javascript function

以下两行代码是否完全相同?

(function(){})();

(function(){}());

1 个答案:

答案 0 :(得分:1)

是。围绕整个表达式括起来的唯一理由是避免将其解释为function声明:

(function f(){}());  // (1) Expression
(function f(){})();  // (2) Expression
function f(){}       // Function declaration
function f(){}();    // Syntax error

但是,无论是直接调用函数文字(1)还是使用一对中间括号(2)都没有任何区别。