2012-08-03 47 views
0

可能重复:
Is there a difference between (function() {…}()); and (function() {…})();?这种语法差异有什么影响(如果有的话)?

我见过两个略有不同使用自执行匿名函数图形的方式。

1:

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

2:

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

是否语法差异有任何暗示效应可能不明显或者是这两种技术完全一样?

+2

......我的搜索字词是*“函数括号之间的javascript差异”*这是第四个结果,是关于这种内联函数调用的其他常见问题。 – 2012-08-03 17:07:48

回答

2

它们是相同的。人们倾向于使用第一个。我也认为JSLint提出了第一个版本。我更喜欢第二个。这真的取决于你。

+0

我更喜欢第二个。我感觉它更自然。 – Claudix 2012-08-03 17:09:29

+1

绝对如此。花括号直接跟着括号是令人厌恶和吓唬我... :) – Christoph 2012-08-03 17:11:32

1

这是绝对相同的

它称为自执行功能

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

之一,二是你的问题

之一:

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

two:

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

第三个是'!'字符

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

祝你好运!

+1

远远超过三种模式。几乎可以使用任何操作员。 – 2012-08-03 17:26:01

+0

thx ..' - ','+'...操作员也工作。 – blueiur 2012-08-03 17:27:59

+0

是的,还有更多。 :) – 2012-08-03 17:32:04

相关问题