2011-03-08 5 views
13

가능한 중복 전화 받기 :
Javascript how do you find the caller function?자바 스크립트 - 객체에게

안녕 얘들 아!

this의 값을 현재 함수를 호출 한 함수에서 가져 오는 방법이 있습니까? 이것 봐 :

function TraceMySelf(){ 
    console.log(this); 
} 
function A(){ 
    TraceMySelf(); 
    console.log(this); 
} 

var a = new A(); 

이 코드를 실행하면 먼저 콘솔 표시 window 객체 다음 a 객체입니다. 코드를 a 개체를 두 번 표시하도록하려면 어떻게해야합니까? 나는 A 안에 this으로 함수를 적용 할 수 있다는 것을 알고 있지만, 그것이 내가 원하는 것은 아니다.

이것이 가능합니까?

도움 주셔서 감사합니다.

+0

유일한 방법은 인수로 전달하는 것입니다. – n00b

+0

인수로 전달하지 않아도됩니까? @hvgotcodes : 귀하의 질문에, 그는 전화 기능을 요구합니다;) –

+0

@FlashFan : 기능 만 다른 기능을 호출 할 수 있습니다. 객체는 할 수 없습니다. 역 관계가 없기 때문에 함수가 속성 인 객체를 얻을 수 없습니다. @hvgotcodes : 네, 복제본입니다. 그러나'arguments.callee' 등의 사용은 더 이상 사용되지 않습니다. –

답변

2

나는이 질문에 대한 답이라고 생각 : StackOverflow 280389

는 그러나, 나는 정답은 "그렇게하지"라고 생각합니다. 내 생각에 자바 스크립트 설계 방식에 맞지 않는다.

함수와 개체를 연결하는 또 다른 방법은 jQuery Proxy입니다.

+0

-1)로 바꿉니다. 질문에 대한 의견 목록이 표시되면 사용자가 찾고있는 대답이 아니라고 언급했습니다 .. – Raynos

+2

당신은 맞습니다. 위의 토론이 있습니다. 대부분은 링크 뒤에 숨겨져 있습니다. 여기에 대답이 없습니다. 글을 쓰는 것을 뒤죽박죽이라고 생각하지 않습니다. 어쨌든, 의견에 감사드립니다. – JoshRivers