(function(){}()) 与(function(){})()有什么区别?

我发现他们都可以执行,但不知道有什么区别?

阅读 4.2k
3 个回答

没区别。这两个都是先声明匿名函数,然后立即执行。
其实原型是这样的function(){}()。但是这样是无法执行的。因为根据ECMA262标准function开头的语句Function Definition,此时的函数不能为匿名必须有名字。所以要声明匿名函数并立即执行,只需要保证语句不适宜function开头即可。

用法如:
(function(){}())
(function(){})()
!function(){}()
+function(){}()
-function(){}()

没区别哒。可以立即执行函数,并模拟块级作用域。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题