2014-02-28 43 views
0

我想創建一個JavaScript庫。有兩種明顯的方式來做到這一點。創建一個庫成語

第一種方法使用新:

var myLib = new function(){ 

    this.square = function(x){ 
     return x*x; 
    }; 

}(); 

的另一種方法是返回一個對象:

var myLib = function(){ 

    function square(x){ 
     return x*x; 
    }; 

    return {square:square}; 

}(); 

是一種方法優於另,或者是個人喜好的問題。

+0

無論哪種方式,你有一個物體,因爲一個函數是一個對象,所以在我看來,第二風格只是隱藏事實上,'圖書館'是一個功能。美學上有好處,但IMO不值得額外的代碼和努力保持一切同步。據我所知,你總是可以回去做第二種方式,如果所有的用法都「表現得很好」,它就可以兼容。所以我會從第一條路線開始,如果你找到了第二條路線的理由,那沒有什麼能阻止你。 – zanerock

+0

[構造函數與工廠函數]可能的重複(http://stackoverflow.com/questions/8698726/constructor-function-vs-factory-functions) – Alexander

回答

-1

檢查這個話題請(構造函數VS廠功能):Constructor function vs Factory functions

+0

如果問題是完全一樣的,請將問題標記爲重複(標誌 - >重複 - >插入URL - >標誌問題),而不是僅僅通過鏈接到另一個問題來回答問題。 –

+0

沒問題。完成。 – Alexander