2

JavaScript 개체 프로토 타입에 속하는 콜백 함수가 개체 멤버에 액세스하는 방법은 무엇입니까? 콜백은 다음과 같이 모든 것이 정의해야합니다, 폐쇄 될 수 없습니다 : 그것은 아무것도에 호출되어 있지 않은 경우 this 항상 함수가 호출되는 개체 또는 전역 개체를 가리키는JavaScript 객체 프로토 타입에 속한 콜백 함수가 객체 멤버에 액세스 할 수 있습니까?

function Obji(param){ 
    this.element = param; 
} 

Obji.prototype.func(){ 
    database.get("someKey",this.cb); 
} 

Obji.prototype.cb(){ 
    //here I would like to access this.element 
} 

답변

2

자바 스크립트에서. 이런 식으로 할 수 있습니까? 이전 버전의 브라우저에 대한

Obji.prototype.func = function(){ 
    var ref = this; 
    database.get("someKey", function(){ref.cb()}); 
} 
+0

더 나는 – DuduAlul

+0

당신은 개체에 대한 참조를 필요로 할 수 있다면 훨씬 쉬울 것 :(수 없습니다. 자바 스크립트에서 어떤 링크가 없습니다 함수와 객체 사이가 할당되어 있습니다. 당신은 폐쇄를 통해 참조 Fi를 밀수 할 수 않는 그래서, 당신이 원하는 일을 할 수있는 방법이 없습니다. '함수의 일원으로 생각하고있는 객체를 참조하지 this' , 그것은 항상 함수가 호출되는 객체를 참조합니다. – entonio

+1

@entonio 나는 그렇지 않았습니다. 당신이 옳은지, 틀린 지, 그것이 내가 질문 한 이유입니다. 당신이 틀렸다고 생각합니다. @ Raynos의 대답을 확인하십시오. – DuduAlul

관련 문제