2012-08-03 44 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

相關問題