首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >(函数(){.}())和(函数(){.})()之间是否有区别?

(函数(){.}())和(函数(){.})()之间是否有区别?
EN

Stack Overflow用户
提问于 2010-09-23 22:37:15
回答 2查看 4K关注 0票数 23

可能重复: 自动执行匿名JavaScript函数的括号位置?

有时我看到:

代码语言:javascript
复制
(function() { ... }()); 

有时我看到:

代码语言:javascript
复制
(function() { ... })(); 

我看到这两种形式都有和没有争论。他们使用匿名函数两者都有 执行

这两种形式有什么不同吗?是否有任何令人信服的理由使用一种而另一种形式?

EN

回答 2

Stack Overflow用户

发布于 2010-09-23 22:49:06

就编译器而言,两者之间没有区别。然而,会发现(function () {}())风格是推荐在道格拉斯克罗克福德的JavaScript 代码约定

票数 5
EN

Stack Overflow用户

发布于 2010-09-23 23:19:01

就分歧而言,它实际上只是句法上的糖。有点类似于:“您喜欢jQuery()还是$()?”两者都可以编译、执行和交替使用(AFAIK)。

从我到目前为止看到的代码示例来看,似乎有更多的人遵循了Crockford代码约定:

代码语言:javascript
复制
(function() { ... }()); 

就我个人而言,我更喜欢(function(){})();约定,因为在我看来,这个函数是自动执行的;我也是jQuery的大用户,这是jQuery源代码中使用的约定。

此外,使用parens将您的自动执行函数括起来被认为是一个很好的实践,而不管您选择哪种形式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3783007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档