2010-04-27 138 views
2

我有一個功能,例如默認參數3.0

功能測試(P1:INT = 7,P2:布爾=真,P3:UINT = 0xffff00,P4:總數= 55.5) {
//說明
}

如何改變只有P4,例如,和參數P1,P3,P3 仍拖欠
下一次我想改變例如只有p2,和參數p1,p3,p4 仍然是默認

回答

0

你不能。你可以離開p3和p4,當你只想指定p2時,它們將使用默認值。但是,你也必須爲p1輸入一個值。

+0

我認爲丹尼爾海的想法超級。解決了我的問題。 :) – Bogdan 2010-04-29 08:40:19

1

你總是可以這樣做(但我不認爲這是一個好主意):

private function test(a1:Object=null, a2:Object=null, a3:Object = null, a4:Object = null):void { 
    var p1:int  = (a1 !== null ? int(a1) : 3); 
    var p2:Boolean = (a2 !== null ? Boolean(a2) : true); 
    var p3:uint  = (a3 !== null ? uint(a3) : 0xFFFF00); 
    var p4:Number = (a4 !== null ? Number(a4) : 55.5); 
} 

這樣,如果你想要的東西是默認情況下,你可以通過在空:

與:

test(null,false,null,null); 

但是,這又是一個壞主意。也許使參數成爲一個對象 - 這聽起來像你正在傳遞一個colortransform對象 - 它已經有rgb + alpha +透明度? (只是一個瘋狂的猜測)

+0

這是非常好的主意。一切都好。 我在函數類中替換爲:void爲:Array和in函數寫的行 return [p1,p2,p3,p4]; 下一個調用函數trace(test(null,false,null,125)); 全是超級。 謝謝。 – Bogdan 2010-04-29 08:29:37