基础
- 一个
toplevelOBJ对象在整个应用程序中用作this.toplevelOBJ,我可以在其中访问它的属性,例如this.toplevelOBJ.mapArea.coordX. - 其中
ClassB有一个函数调用blink,它等待来自外部源的信号。 - 在
ClassC我需要捕获这个信号,所以我设置了一个函数,capture以ClassC检索由发送的信号ClassB
问题
当通过capture()函数发送到时ClassC,
"this"inthis.toplevelOBJ不再指的是toplevelOBJ,而是ClassC。
因此,我通过函数this.toplevelOBJ作为参数发送,但在接收时,我不确定是否正在调用来自的函数:,而我可以访问它的属性:toplevelcapture()toplevelOBJtoplevel.update()toplevel.mapArea.coordX
问题
通过 anObject作为参数发送时,是否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 */
}
});