以下の caller.receiver メソッドに有効なthis参照があることを確認しようとしています。
これは単純化された例ですが、次のような関数の割り当てがあります。
service.fn = this.receiver
ただし、レシーバー関数の実行時に呼び出し元を参照するようにします。つまり、'Caller - Received' という文字列をコンソール ログに出力する必要があります。
var service = {
name: 'Service',
fn: null,
runFn: function () {
this.fn(arguments);
}
};
var caller = {
name: 'Caller',
receiver: function () {
console.log(this.name + ' - Received');
},
perform: function () {
service.fn = this.receiver;
service.runFn();
}
};
caller.perform();
どんな助けでも感謝します。