命名空间中的类
问题描述:
我希望我的代码看起来像这样,但我不知道如何实现这一点。命名空间中的类
var employee = namespace.employee(2); // return object
var employeeName = namespace.employee(2).name; // return string
var name = employee.name;
我想创建一个命名空间这样
var namespace = (function(){
})();
然后把喜欢里面的类,我只是不太知道从哪里开始。
答
这是所有你需要实现的行为:
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];
};
})();
你寻找这样的东西? https://toddmotto.com/mastering-the-module-pattern/ –