我可以在Javascript模块模式中使用类吗?

时间:2017-11-12 21:31:03

标签: javascript class module module-pattern

我目前正在开发一个使用javascript模块模式(http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html)的应用。可以将javascript类与此模式结合使用来创建类似于C#的结构,其中类嵌套在名称空间中吗?

我目前得到了这个:

app.modules.foo = class {
    constructor() {
        // Module variables
    }

    // Module functions

    get init() {
        // Module initialization function
    }
}

我会这样称呼:

var app = {
    modules: {},
    init: function () {
        "use strict";

         this.modules.foo.init();
    }
};

window.addEventListener("DOMContentLoaded", function() {
   app.init(); 
});

1 个答案:

答案 0 :(得分:0)

当然!看起来你试图让模块代表单例对象,而不是可以实例化的类? 如果是这种情况,请退房     https://github.com/jojois74/recycle.js

在每个模块闭包中,您可以创建一个对象 var obj = {}; 添加属性; obj.foo = function() {/*etc*/}; 然后归还: return obj.

有关详细信息,请查看readme.md。