(function (foo) { alert(10); } ());
(function (foo) { alert(10); } )();
两者都是匿名调用的函数,但代码结构存在差异。我试图了解其中的差异。提前谢谢!
答案 0 :(得分:1)
它们之间没有任何区别。外部的parens就是强制解析器将function
视为表达式的开头,而不是声明的开头;是否将()
调用结果函数在其内部或外部并不重要。你甚至根本不能使用外部的parens:
+function(foo) { alert(10); }();

+
也使解析器期望表达式而不是声明。
有关this answer中解析的这一方面的更多信息。