我写了这样的东西:
window.onload = function() {
var a = new A();
a.init();
};
A = function() {
this.b = {};
};
A.prototype = {
init : function() {
document.writeln("init");
this.b = new B();
this.b.doCallback(this.init2);
},
init2 : function() {
document.writeln("init2");
this.b.say();
}
};
B = function(){};
B.prototype = {
doCallback: function(callback){
callback();
},
say: function(){
document.writeln("I'm B");
}
};
对我来说,输出应该是这样的:
init
init2
I'm B
但是,它看起来像这样:
init
init2
Chrome 说方法“说”是未定义的。有人可以解释我为什么吗?