2010-08-27 76 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()的频率更高,这是一种获取副本的简单方法。

相关问题