2016-08-03 167 views
0

我希望我的代碼看起來像這樣,但我不知道如何實現這一點。命名空間中的類

var employee = namespace.employee(2); // return object 
var employeeName = namespace.employee(2).name; // return string 
var name = employee.name; 

我想創建一個命名空間這樣

var namespace = (function(){ 

})(); 

然後把喜歡裏面的類,我只是不太知道從哪裏開始。

+2

你尋找這樣的東西? https://toddmotto.com/mastering-the-module-pattern/ –

回答

1

這是所有你需要實現的行爲:

var namespace = {}; 

namespace.employee = function (num) { 
    return { name: num }; 
}; 

返回包含密鑰name一個對象的對象namespace上的功能employee

假設你想要的東西,像員工的倉庫和num告訴它要返回的員工:

var namespace = {}; 

var employees = [{ name: 'Joe' }, ...]; 

namespace.employee = function (num) { 
    return employees[num]; 
}; 

假設你希望employees庫不全局訪問:

var namespace = {}; 

namespace.employee = (function() { 
    var employees = [{ name: 'Joe' }, ...]; 

    return function (num) { 
     return employees[num]; 
    }; 
})(); 
相關問題