以下两行代码是否完全相同?
(function(){})();
(function(){}());
答案 0 :(得分:1)
是。围绕整个表达式括起来的唯一理由是避免将其解释为function
声明:
(function f(){}()); // (1) Expression
(function f(){})(); // (2) Expression
function f(){} // Function declaration
function f(){}(); // Syntax error
但是,无论是直接调用函数文字(1)还是使用一对中间括号(2)都没有任何区别。