toplevelOBJ
객체는 예로서, 예를 들어 특성을 I에의 액세스 권한 this.toplevelOBJ
같은 애플리케이션 전반에 걸쳐 사용된다객체
- 기초
this.toplevelOBJ.mapArea.coordX
. ClassB
에는 외부 소스의 신호를 기다리는blink
이라는 기능이 있습니다.ClassC
에서- 는 I는 신호를 캡처 할 필요 그래서
ClassC
에capture()
기능을 통해 전송하면ClassB
문제
의해 전송 된 신호를 검색 ClassC
의 함수 capture
설정 "this"
in this.toplevelOBJ
은 더 이상 toplevelOBJ
을 나타내지 만 ClassC
을 나타냅니다. 이 때문에
, 나는 capture()
기능을 통해 매개 변수 toplevel
로 this.toplevelOBJ
을 보냈지 만 수신에, 나는 toplevelOBJ
에서 함수가 호출되는 경우 확실하지 않다 : toplevel.mapArea.coordX
toplevel.update()
을
질문
매개 변수로 Object
통한 송신 정확히 동일한 Object
입니까? 내가 찾은 반면 나는 Object
을 검사 할 때 때문에, 나는 toplevel.__proto__.__proto__
아래 update()
기능을 발견 즉시 해당 속성 : 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 */
}
});
'this'의 값은 모든 함수 호출의 상황에 따라 결정됩니다. 나에게 그것은 당신의 전체 질문을 매우 혼란스럽게 만든다. 나에게 "최상위 오브젝트"는 "전역 오브젝트"를 의미하며,이 경우에는 "this"를 통해 액세스 할 필요가 없습니다. – Pointy