2016-02-28 55 views
2

我學習的Javascript模塊模式模塊模式,以及所遇到的這兩種方式來創建一個模塊:語法在Javascript

var Module = (function() { 
    // code 
})(); 

var Module = (function() { 
// code 
}()); 

有在這兩種方法一個顯著差異?如果沒有,這被認爲是更好的做法?謝謝。

+1

不,沒有。這是重複的,我會找到更早的版本。 –

+0

在這種情況下,沒有區別。 至於模塊,你可以閱讀關於commonjs和amd。正如我建議查看打字稿的示例,將生成的代碼可用於形成模塊結構的想法 – Pyfhon

+0

謝謝@TJJCrowder找到正確的答案。這回答了我的問題。 – akshayKhot

回答

0

兩者都是一樣的。外圍圓括號強制內部代碼作爲表達式進行評估。這意味着在這兩種情況下,功能代碼都被視爲功能表達式。然後由於()括號,這個函數立即執行。

所以,從JS解釋器待辦事項列表的角度來看應該是完全一樣的:1)獲取函數表達式,2)立即執行它。

它只是有別於美學的觀點 - 它對你而言更爲自然看起來

+0

謝謝你的回答。這有助於。 – akshayKhot