我很难找到有关此问题的详细信息。我想在 Foo() 中实例化 Bar(),而不必将指针传递给 Foo()。或者通过某种方式让 Bar() 知道它是 Foo() 的子代。这可能吗?还是我已经使用了足够的方法?
基本上,我试图避免这样的电话:
var bar1 = new Bar(this,someValue);
下面我有一个我目前正在使用的方法的粗略示例。
function Bar(p,val) {
var par = p,
value = val;
this.__defineGetter__("value", function() {
return par.dun.value + value;
});
}
function Dun(val) {
var value = val;
this.__defineGetter__("value", function() {
return value;
});
}
function Foo() {
var dun = new Dun(15);
var bar1 = new Bar(this, 10);
var bar2 = new Bar(this, 20);
this.__defineGetter__("dun", function() {
return dun;
});
this.__defineGetter__("bar1", function() {
return bar1;
});
this.__defineGetter__("bar2", function() {
return bar2;
});
}
var myFoo = new Foo();
myFoo.bar1.value;
谢谢。