命名空间内的类

时间:2016-08-03 08:07:26

标签: javascript

我希望我的代码看起来像这样,但我不知道如何实现这一点。

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

我正在考虑创建像这样的名称空间

var namespace = (function(){

})();

然后将类似的类放入其中,我只是不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

这就是实现该行为所需的全部内容:

var namespace = {};

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

对象employee上的函数namespace,它返回包含键name的对象。

假设您需要类似员工的存储库,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];
    };
})();