我已經測試了以下的代碼:... AS3(rest)參數
function aa(...aArgs):void
{
trace("aa:", aArgs.length);
bb(aArgs);
}
function bb(...bArgs):void
{
trace("bb:", bArgs.length);
}
aa(); //calling aa without any arguments.
的輸出是:
aa: 0 //this is expected.
bb: 1 //this is not!
當我通過空參數(aArgs)至BB功能; 不應該返回0長度嗎?看起來像函數bb處理傳遞的aArgs爲非空/非空...
我在這裏錯過了什麼?
任何幫助表示讚賞。 關注..
我明白了。謝謝。 在這個例子中,在aa函數中調用bb.apply(null,args)肯定會起作用。 (如果我有15個代表,我會投票答覆你的答案) 但實際上,我試圖將...... args傳遞給一個變量。 如: 函數aa(... args){someVariable = args; } 和如果我稍後在bb(... args)函數中使用該變量,如:bb(someVariable); - 它不會工作.. – 2009-06-09 18:01:20
這應該仍然適用於申請。只要記住somveVariable是一個數組,所以你需要apply()來傳遞數組中的單個項。 – 2009-06-09 18:35:51
不,它不.. 請參閱線程在http://stackoverflow.com/questions/972460/as3-arguments 我不能在這裏添加代碼,所以我不得不問一個新的問題.. – 2009-06-09 20:58:08