var foo = (function(){
var _blah;
function doStuff(){
//how to make _blah instance specific
//and access it here?
}
function bar(blah){
_blah = blah;
doStuff();
//this.blah = blah?
}
bar.prototype.getBlah = function(){ return _blah; };
return bar;
})();
var foos = [];
$.each([1,2,3], function(i, v){
var f = new foo(v);
foos.push(f);
});
//all instances of foo
//gets _blah set to 3
console.log(foos[1].getBlah());
上記のモジュールに関して 2 つの質問があります。
- 各インスタンスに固有のプロパティを設定するにはどうすればよいですか? 上書きされることがわかり
_blah
ますが、これは明らかです。しかし、構文について助けが必要です。私の推測では、コメントのようにコンストラクターで設定する必要があります。それは正しい方法ですか? - 別のメソッドでプロパティにアクセスするにはどうすればよいですか? 私の知る限り、
this
を参照しwindow
てdoStuff()
ください。