2014-06-18 3 views
-1

내 제목은 잘못된 단어를 선택했기 때문에 오해의 소지가 있습니다. 그러나 내 문제가 있습니다.기존 기능에 추가 코드 추가

나는 많은 방법을 가진 하나의 생성자를 가지고있다. 이 생성자로 생성 된 객체는 다른 객체의 메소드와 객체에 더 많은 메소드를 추가 할 수있는 다른 생성자 주위로 전달됩니다.

제 질문은 실행될 때마다 모든 메소드에 의해 실행되어야하는 하나의 함수 호출을 실행하고 싶습니다. 이것을 어떻게 할 수 있습니까? 예를 들어

:

function foo(){ 
    this.method1=function(){} 
    this.method2=function(){} 
} 

function run_this(){} 

지금, 나는 방법 항목 및 방법 2에 추가 할은, 기본적으로 그이 방법을 실행 한 후하지만 전에 그들에 의해 실행되어야 run_this 지금은 this.method1를 호출 할 경우, 어떤 반환 foo는에서 생성 된 객체를 들어, 다음을 수행해야

this.method() 
run_this() 

참고 : 나는 다양한 O를 주위에 전달되는 것을 좋아하기 때문에 메서드 호출 내에서 실행되는 기능을 추가 제안하지 마십시오 다른 함수를 할당 할 수있는 객체와 그 함수 호출을 실행하도록 할당 된 모든 함수를 원합니다.

+0

아무 이유없이 다운 폰트가 내가 점차적으로 SO에서 벗어나려고하는 이유입니다. –

+0

귀하의 질문이 명확하지 않기 때문에 나는 대답했습니다. 답변을 시도했지만, 계속 잘못 생각한 것 같습니다. –

+0

나요? 내 모든 의견을 읽고 제게 잘못했다고 말했습니까? 내가 말한 전부는 당신의 대답이 내가 성취해야 할 것을 제게 제공 할 수 없다는 것입니다. 그 말이 틀린가? 내 문제를 해결하지 못하는 답을 받아들이 길 원합니까? 내가 너에게 의사 소통하지 않으면 다른 일이 될 것이다. 당신이 자세히 보면, 당신은 마침내 거기에 방법이 없다는 말을 밖으로 보석금. 그렇다면 이것이 내 질문이나 내 의사 소통을 어떻게 명확하게하지 않습니까? –

답변

0

method1method2을 묶는 foo 인스턴스에 대한 프록시를 만들어보십시오.

function fooProxy(foo){ 
    this.method1=function(){ 
    var result = foo.method1(); 
    run_this(); 
    return result; 
    } 
    this.method2=function(){ 
    var result = foo.method2(); 
    run_this(); 
    return result; 
    } 
} 

function run_this(){} 

var proxy = new fooProxy(someFoo); 
+0

Daniel !!!! 부디!!! 그게 당신에게서 기대하고 있던 아니 었 ... 나는 내 질문에 말했듯이 ... 그것은 메서드 자체에 추가하는 모든 옵션이되지 않도록 개체에 메서드를 추가 할 수있는 다양한 개체 주위에 전달됩니다. –

+1

@ Jack_of_All_Trade는 귀하가 성취하고자하는 것을 분명히 밝히지 않았습니다. –

+0

좋아요, 이건 ....이 방법은 이미 작성되었습니다 ... 손상은 이미 끝났습니다. 다시 쓰지 않을 확률이 전혀없는 객체와 관련된 모든 메소드 호출 후에 한 코드를 실행해야한다는 것을 알았습니다 모든 메소드의 맨 아래에있는 특정 코드는 가능한 모든 상황을 요구합니다. 내 출구가 뭐야? –