2009-07-03 55 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