JavaScript匿名函数的括号问题

5
他们是一样的吗?
var multiply = function () {
      //..
      }();

var multiply1 = (function () {
      //..
      }());

1
Johnny - 请注意 (function() { })()function() {}() 在不同的上下文中可能会有所不同。如果没有分配给变量,后者将被解释为语句(并且是语法错误),而不是表达式。 - Shog9
1
有些人喜欢使用(function(){}())而不是(function(){})() - 这只是个人口味问题。 - hugomg
3个回答

9

正如mquander所说,在这种情况下它们是相同的,但如果你想更深入地了解一下,可以访问:An Important Pair of Parens。


我喜欢这个答案,同意这篇文章,并且现在我会在我的函数调用周围加上括号。谢谢! - mqp
...并且与(function() {...})()相同,这是我的首选。 - user123444555621

4
是的,它们完全相同。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接