如何调用此函数以使其使用默认参数值?

时间:2010-08-27 23:32:38

标签: actionscript-3

slice()方法
AS3函数slice(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String

String:slice() doc

文档说startIndex的默认值是0,如何调用此函数以使其使用默认值startIndex?

3 个答案:

答案 0 :(得分:1)

指定参数的值后,您必须指定其左侧的每个参数。因此,如果您想省略startIndex,则必须省略endIndex

在某些语言中,您可以说str.slice(, 5)但不能在AS3中说。要使用startIndex的默认值,您必须说str.slice(),它会创建字符串的完整副本。

String执行此操作似乎没什么意义,因为它是不可变的。您会在slice()上更频繁地看到Array,这是获取副本的简便方法。

答案 1 :(得分: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)

答案 2 :(得分:0)

只是不传递参数,它将使用默认参数:

startIndex();