【问题标题】:What effect does this syntax difference have (if any)? [duplicate]这种语法差异有什么影响(如果有的话)? [复制]
【发布时间】:2012-08-03 17:02:14
【问题描述】:

可能重复:
Is there a difference between (function() {…}()); and (function() {…})();?

我见过两种使用自执行匿名函数模式略有不同的方法。

1:

(function(){
    //do stuff
}())

2:

(function(){
    //do stuff
})();

语法差异是否有任何可能不明显的隐含效果,或者这两种技术是否完全相同?

【问题讨论】:

  • ...我的搜索词是 “javascript 函数括号之间的区别” 这是第四个结果,以及有关此类内联函数调用的许多其他常见问题。

标签: javascript design-patterns


【解决方案1】:

它们是一样的。人们倾向于使用第一个。我也认为 JSLint 建议使用第一个版本。我更喜欢第二种。这完全取决于你。

【讨论】:

  • 我也更喜欢第二个。我觉得它更自然。
  • 当然。花括号直接跟在括号后面很恶心,吓到我......:)
【解决方案2】:

完全一样

调用自执行函数

有三种模式(但第三种模式不能返回值)

一二是你的问题

一个:

(function(){
    //do stuff
}())

两个:

(function(){
    //do stuff
})();

第三个是'!'人物

!function(){ 
    //do stuff
}();

祝你好运!

【讨论】:

  • 模式远不止三种。几乎可以使用任何运算符。
  • thx.. '-', '+' ...操作员也可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多