我目前正在开发一个使用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();
});
答案 0 :(得分:0)
当然!看起来你试图让模块代表单例对象,而不是可以实例化的类? 如果是这种情况,请退房 https://github.com/jojois74/recycle.js
在每个模块闭包中,您可以创建一个对象
var obj = {};
添加属性;
obj.foo = function() {/*etc*/};
然后归还:
return obj.
有关详细信息,请查看readme.md。