基本
toplevelOBJ
オブジェクトは、アプリケーション全体で として使用されます。this.toplevelOBJ
たとえば、 などのプロパティにアクセスできますthis.toplevelOBJ.mapArea.coordX
。- には、外部ソースからの信号を待機
ClassB
する関数が呼び出されます。blink
- この
ClassC
信号をキャプチャする必要があるため、関数を設定して、capture
によってClassC
送信された信号を取得します。ClassB
問題
capture()
関数を介して に送信されるとClassC
、
"this"
inはではthis.toplevelOBJ
なく を参照します。toplevelOBJ
ClassC
このため、関数を介してthis.toplevelOBJ
パラメーターとして送信しましたが、受信時に、からの関数が呼び出されているかどうかはわかりませんが、そのプロパティにアクセスできます:toplevel
capture()
toplevelOBJ
toplevel.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 */
}
});