複数のファイルにまたがる Javascript コードがありますが、IFFE を使用して縮小を容易にしたいと考えています。一部のメソッドはパブリックのままにしておく必要があります。
ウィキペディアは、アクセサーの実装を提案しています。
var counter = (function(){
var i = 0;
return {
get: function(){
return i;
},
set: function( val ){
i = val;
},
increment: function() {
return ++i;
}
};
}());
残念ながら、return
そのような関数が複数のファイルで宣言されている場合、これらを宣言するのは簡単ではありません。
以下は適切な解決策ですか?そうでない場合、何ですか?
var counter = (function(){
var i = 0;
// Import js file 1...
this.get = function(){ return i; };
// Import js file 2...
this.set = function( val ){ i = val; };
// Import js file 3...
this.increment = function() { return ++i; };
return this;
}());
PS:次の呼び出しを実行できるようにしたい:
counter.get();
counter.set(33);
counter.increment();