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());
关于上面的模块,我有两个问题:
- 如何设置特定于每个实例的属性?现在你可以看到它
_blah
被覆盖了,这很明显。但我需要一些语法帮助。我的猜测是我需要像注释一样在构造函数中设置它。这是正确的方法吗? - 如何以另一种方法访问该属性?据我所知,
this
指window
在doStuff()
.