2009-07-03 21 views
1

說我有希望兩個功能...其餘參數重傳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); 

功能一個得到的參數1,2,3陣列,但是當它傳遞他們的功能b,它通過他們作爲1個參數(包含3的數組)。有沒有辦法將它們作爲3個獨立的參數而不是數組傳遞?

回答

3

是的,使用所有函數都有的apply方法(函數也是對象!)。所以,與其這樣:

b(myParams); 

你會做到這一點:

b.apply(this, myParams); 
+0

這工作,我不明白,雖然它? – 2009-07-03 16:45:03