基本
toplevelOBJオブジェクトは、アプリケーション全体で として使用されます。this.toplevelOBJたとえば、 などのプロパティにアクセスできますthis.toplevelOBJ.mapArea.coordX。- には、外部ソースからの信号を待機
ClassBする関数が呼び出されます。blink - この
ClassC信号をキャプチャする必要があるため、関数を設定して、captureによってClassC送信された信号を取得します。ClassB
問題
capture()関数を介して に送信されるとClassC、
"this"inはではthis.toplevelOBJなく を参照します。toplevelOBJClassC
このため、関数を介してthis.toplevelOBJパラメーターとして送信しましたが、受信時に、からの関数が呼び出されているかどうかはわかりませんが、そのプロパティにアクセスできます:toplevelcapture()toplevelOBJtoplevel.update()toplevel.mapArea.coordX
質問
Objectをパラメーターとして送信する場合、Objectまったく同じですか? を調べたObjectところ、 のupdate()下に関数が見つかりましたtoplevel.__proto__.__proto__が、そのプロパティはすぐに見つかりました。toplevel.mapArea
コード
// Class in which I am sending the object
var ClassB = exports.ClassB = ClassA.extend({
blink: function(key, value) {
ClassC.prototype.capture(key, value, this.toplevelOBJ);
}
});
// Class in which I am receiving the object
var ClassC = exports.ClassC = ClassA.extend({
capture: function(key, value, toplevel) {
/* Run Function of toplevel */
}
});