문제

var UI$Contract$ddlForm_change = function() {

    //'this' is currently the drop down that fires the event
    // My question is can I change the context so "this" represents another object? 
    this = SomeObject;

    // then call methods on the new "this"
    this.someMethod(someParam);   
};

이게 가능해?

도움이 되었습니까?

해결책

아니요, 불가능합니다.

지정된 값의 메소드를 호출 할 수 있습니다. 이것 (사용 method.apply()/method.call())하지만 키워드를 다시 할당 할 수 없습니다. this.

다른 팁

당신은 무엇을 바꿀 수 없습니다 this 참조 내부에 함수.

그러나 할 수 있습니다 전화 특정 컨텍스트의 함수 - 따라서 this 사용하여 특정 객체를 나타냅니다 call 또는 apply.

JP가 정확합니다. 이건 불가능 해. JavaScript 언어 사양 문서 ECMA-262를 참조하십시오. 여기에서 표준을 다운로드 할 수 있습니다.

http://www.ecma-international.org/publications/standards/ecma-262.htm

파일은 ECMA-262.pdf이며 39 페이지, 섹션 10.1.7입니다.

10.1.7이

모든 활성 실행 컨텍스트와 관련된이 값이 있습니다. 이 값은 발신자와 실행되는 코드 유형에 따라 다르며 제어가 실행 컨텍스트에 들어가면 결정됩니다. 실행 컨텍스트와 관련된이 값은 불변입니다.

"불변"에 주목하십시오. 즉, 변경할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top