Я хочу написать библиотеку 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 внутри этого библиотека.