2010-08-27 38 views

回答

1

在AS3中,如果函數需要參數並且某些參數具有默認值,那麼不傳遞任何參數將在邏輯上默認爲參數默認值,如Juan Pablo Califano的示例中所示。

如果需要多個參數,並且希望保留第一個參數默認值,則必須實際指定它以設置其他參數。

 
var str:String; 
str.slice(0 , 5); 
str.slice(0 , 2); 

採取Matrix類,例如:

 
Matrix(a:Number = 1, b:Number = 0, c:Number = 0, 
       d:Number = 1, tx:Number = 0, ty:Number = 0) 

如果您需要通過將其作爲參數來設定TY參數,你需要在它之前的每一個參數設置,

 
var matrix:Matrix = new Matrix(a:Number = 1, b:Number = 0, c:Number = 0, 
       d:Number = 1, tx:Number = 0, ty:Number = 50) 

另一方面,您可以設置一個& b並保留剩餘參數的默認值。

 
var matrix:Matrix = new Matrix(a:Number = 100, b:Number = 20) 
0

只是不傳遞參數,它會使用默認的一個:

startIndex(); 
1

一旦您指定一個參數的值,你必須指定每個參數到它的左側。所以,如果你想離開startIndex,你將不得不離開endIndex

在某些語言中,您可以說str.slice(, 5),但不在AS3中。要使用startIndex的默認值,您必須說明str.slice(),它會創建字符串的完整副本。

String這樣做似乎沒有多少意義,因爲它是不可變的。您在Array上看到slice()的頻率更高,這是一種獲取副本的簡單方法。

相關問題