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

11

我经常看到这两种约定,想知道它们之间是否真的有区别。

(function () {
  document.write("it works");
}());

(function () {
  document.write("it also works");
})();

1
哦,是的,臭名昭著的“狗球”!请参考https://dev59.com/Z2oy5IYBdhLWcg3wF6QL以及其中的链接。 - georg
我猜测 (func(){}()); 没有触及所有的搜索结果。 - GraxRabble
1个回答

1

这两者没有区别,起始大括号只是一种语法提示,告诉解析器后面的内容是函数表达式而不是函数声明。

更多信息请参见http://jsperf.com/self-invoking-function


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