2016-08-03 21 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]; 
    }; 
})(); 
関連する問題