2009-07-03 4 views
1

이 ... 나머지는 매개 변수 1,2,3의 배열을 가져옵니다 기능REST 매개 변수를 다시 전달 하시겠습니까?

private function a(...myParams):void 
{ 
    trace(myParams.length); // returns 3 parameters 1,2,3 
    b(myParams); 
} 
private function b(...myParams):void 
{ 
    trace(myParams.length); // returns 1 parameter (array) [1,2,3] 
} 

a(1,2,3); 

매개 변수 내가 기대하는 두 가지 기능을 말해봐하지만 그들을 통과 할 때 B를 작동하기 위해서는 전달합니다 1 매개 변수 (3을 포함하는 배열)로. 배열 대신 3 개의 개별 매개 변수로 전달할 수있는 방법이 있습니까?

답변

3

예, 모든 함수에있는 apply 메소드를 사용하십시오 (함수도 객체 임). 그래서, 오히려 이것보다 :

이 작동
b.apply(this, myParams); 
+0

, 내가 그래도 이해가 안 :

b(myParams); 

는이 작업을 할 거 야? –

+1

글쎄, ActionScript 함수도 객체입니다. 모든 기능이 적용된 한 가지 방법을 적용이라고합니다. 이 방법을 사용하면 지정된 컨텍스트 (첫 번째 매개 변수)와 인수 (두 번째 매개 변수)로 원하는 함수를 실행할 수 있습니다. 언제든지 배열을 가지고 있지만 그 배열을 함수의 개별 인수로 전달해야 사용할 수 있습니다. IIRC 이것은 Javascript와 같은 모든 ECMAScript 기반 언어에 공통적입니다. –

+0

정보 주셔서 감사합니다! –

관련 문제