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を使用しています。