我想编写一个 JS 库并像这样处理它:
var c1 = Module.Class();
c1.init();
var c1 = Module.Class();
c2.init();
当然,c1 和 c2 不能共享相同的变量。我想我知道如何用对象做到这一点,它会是:
var Module = {
Class = {
init = function(){
...
}
}
}
但问题是,如果我以这种方式编写,我就不能拥有多个 Class 实例。所以我试图用函数实现同样的效果,但我认为我做得不对。
(function() {
var Module;
window.Module = Module = {};
function Class( i ) {
//How can "this" refer to Class instead of Module?
this.initial = i;
}
Class.prototype.execute = function() {
...
}
//Public
Module.Class = Class;
})();
我不知道它是否可能,但我接受其他方式来创建这个模块的建议。我不知道它是否也相关,但我在这个库中使用 jQuery。