我有一個功能,例如默認參數3.0
功能測試(P1:INT = 7,P2:布爾=真,P3:UINT = 0xffff00,P4:總數= 55.5) {
//說明
}
如何改變只有P4,例如,和參數P1,P3,P3 仍拖欠?
下一次我想改變例如只有p2,和參數p1,p3,p4 仍然是默認?
等
我有一個功能,例如默認參數3.0
功能測試(P1:INT = 7,P2:布爾=真,P3:UINT = 0xffff00,P4:總數= 55.5) {
//說明
}
如何改變只有P4,例如,和參數P1,P3,P3 仍拖欠?
下一次我想改變例如只有p2,和參數p1,p3,p4 仍然是默認?
等
你不能。你可以離開p3和p4,當你只想指定p2時,它們將使用默認值。但是,你也必須爲p1輸入一個值。
你總是可以這樣做(但我不認爲這是一個好主意):
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 +透明度? (只是一個瘋狂的猜測)
這是非常好的主意。一切都好。 我在函數類中替換爲:void爲:Array和in函數寫的行 return [p1,p2,p3,p4]; 下一個調用函數trace(test(null,false,null,125)); 全是超級。 謝謝。 – Bogdan 2010-04-29 08:29:37
我認爲丹尼爾海的想法超級。解決了我的問題。 :) – Bogdan 2010-04-29 08:40:19