在AS2.0时代,函数的参数没有一个严谨的定义,也就是说我们可以传入任意多的参数,然而到了AS3.0时代,我们必须严格的遵守参数的定义法,但是我们并没有丢失函数参数传入的灵活性,AS3.O提供了一个新的关键字…(rest),用法(…rest)。
我们可以把…rest看成一个参数集合,它可以由任何参数类型组成,其实它的类型是Array,也就是它拥有数组所有的成员属性和方法,它的长度由传入参数的个数而定,还要说明的是我们应用(…rest)它的同时,函数同样可以拥有属于它自己的预定义参数,下面看一个例子:
- //函数的定义
- function myFun(pa1:String,pa2:int,...rest):void {
- trace("rest是否是Array类型:"+(rest is Array));
- trace("rest的长度:"+rest.length);
- trace("------------------------");
- for (var i in rest) {//得到传入值
- trace(rest[i]);
- }
- }
- //函数的调用
- myFun("this is string",2,[34,45],"restString",100);
- //这是输出结果
- //rest是否是Array类型:true
- //rest的长度:3
- //------------------------
- //34,45
- //restString
- //100
转载于:https://blog.51cto.com/liushan/367675