function Apple(){
this.name="apple";
}
function Orange(){
this.name="orange";
this.apple = new Apple();
this.apple.onCalled=function(){
alert(this.name);
}
}
Orange.prototype.onCalled=function(){
this.apple.onCalled();
}
var orange = new Orange();
orange.onCalled();
目前代码显示“苹果”。如何修改“this.apple.onCalled=function()”行使其显示“橙色”?
即我想将函数传递给另一个对象,但是当调用该函数时,访问传递函数的对象的变量,而不是执行函数的对象的变量。一个明显的解决方案是使用全局变量(例如 orange.name),但我正在寻找更好的方法,因为有很多对象,我不想全局化所有内容。