2014-10-28 76 views
-2

請看看下面的示例代碼:創建模塊模式的多個對象

var sample = (function() { 
    var a, b; 
    var sample = function (x, y) { 
    a = x; 
    b = y; 
    }; 
    return { 
    add: function() { 
     return a + b; 
    } 
    } 
})(); 

這有什麼問題呢?

如何創建樣品對象的多個對象?

我應該如何編寫構造函數?

我試圖通過創建對象:

var s = new sample(1, 2); 

但是,它拋出一個錯誤!

回答

0

模塊化模式僅提供一個單例對象。所以,你不能創建它的實例。

但是,有一種解決方法。上述代碼的細微變化可以使您創建對象。

var sample = function (x, y) { 
    var a = x; 
    var b = y; 

    return { 
    add: function() { 
     return a + b; 
    } 
    } 
}; 
現在

,我可以叫

var nine = new sample(4, 5); 
var five = new sample(2, 3); 
alert(nine.add()); 
alert(five.add());