2009-10-09 2 views
2

나는 함수명을 알고있는 다른 함수를 호출 할 필요가있는 함수를 가지고있다. 내 기능과 같은델리게이트

어쩌면

otherfunction(obj){ 
} 

또는

otherfunction(){ 
} 

내가 dono 매개 변수를 전달할지 여부를 알고를

myfunction(obj){ 
otherfunction(?); 
} 

otherfunction입니다.

어떻게 방법

답변

1

JavaScript에서는 실제로 모든 매개 변수를 함수에 전달할 필요가 없습니다. 또는 매개 변수. 또는 함수 이름보다 많은 매개 변수를 전달할 수 있습니다.

함수가 OBJ, 매개 변수를 정의하지만 그냥

otherfunction(); 

과 같이 호출하면 다음 OBJ는 정의되지 않습니다.

2

당신이 인수의 개수와 자바 스크립트 함수를 호출 할 수 있습니다를 호출 할 수 있습니다

function myFunction (firstValue, secondValue) 
{ 
    if (firstValue) alert (firstValue); 
    if (secondValue) alert (secondValue); 
} 


myFunction(); //works but no alert 
myFunction ("Hello");// 1 alert 
myFunction ("Hello", "World");// 2 alerts 

당신은 2 개 인자로 선언되어 있지만 세 가지 방법은 작업을 호출 참조로

+1

생각 당신은 ","당신이 거기에 args를 분리 누락되었습니다;) – Matt

+0

하지만 어쨌든 고마워 봤어 :) – jantimon

1

JavaScript에서 함수 서명을 얻는 방법이 없습니다. 그러나 필요한 인수 만 전달하면 함수는 필요하지 않은 인수를 무시합니다. 오류가 발생하지 않습니다.

1

arguments 로컬 변수를보고 함수 서명에 무엇을 입력했는지에 관계없이 함수에 전달 된 인수 목록을 가져올 수 있습니다.

함수 apply 메서드를 사용하여 여러 개의 인수로 함수를 호출 할 수 있습니다.

function myfunction() { 
    otherfunction.apply(window, arguments); 
} 

이 당신이 뭘 하려는지인가 :

그래서 랩 기능 위에 모든 인수를 전달하는 래퍼 함수를 ​​만드는 방법?

(windowthis이 래핑 된 함수로 설정됩니다 값입니다, 당신은 당신이 메소드를 호출하고 특정 개체, 글로벌 window 객체가 일반적으로 사용하는이없는 경우.)

관련 문제