我有以下 Javascript 代码,我正在尝试让回调工作,如下所示。我想看到一个带有“123”的警报。
var A = function(arg){
this.storedArg = arg;
this.callback = function(){ alert(this.storedArg); }
}
var B = function() {
this.doCallback = function(callback){ callback(); }
}
var pubCallback = function(){ alert('Public callback') };
var a = new A(123);
var b = new B();
b.doCallback(pubCallback); // works as expected
b.doCallback(a.callback); // want 123, get undefined
我明白发生了什么,但我不知道如何解决它。如何获得引用我的对象的回调函数?就我而言,我可以更改 A 但不能更改 B。