2013-01-10 150 views
0

我是javaScript模塊中的新成員。我看了很多文章,並找到模塊定義有以下兩種不同的方式:javaScript中關閉模塊和關閉模塊之後'()'或'(otherModule)'之間的區別

// '()' after module close 
var firstModule = (function() { 
    // Module defination goes here 
})(); 

// '()' before module close 
var secondModule = (function() { 
    // Module definition goes here 
}()); 

我嘗試都沒有找到任何區別。

請回復兩者之間的區別,在這種情況下,我們必須使用哪種類型的聲明?

回答

2

在實踐中沒有區別。這只是偏好,你甚至可以把它寫這樣的:

var f = function(){ ... }(); 

周圍的括號是爲了提醒你,該函數是一個IIFE(立即調用函數表達式)。在第一個例子中,你只將該函數作爲一個表達式來處理。在第二個,你把整個IIFE作爲一個表達。代碼的運行方式沒有什麼區別,只是爲了給你提供線索。

相關問題