`

定义函数时的…(rest)参数

    博客分类:
  • Flex
阅读更多


在As3.0中,Function的参数数是被严格限制的,如果定义的参数数与实际参数不同时,系统会报错(incorrect number of arguments) ,那么,“… (rest) parameter”大概就是被派来解救那些困扰于这个问,的孩子们的…

package {
import flash.display.Sprite;
public class ArgTest extends Sprite {
private var argArr:Array=new Array(”EEE”,”FFF”,”GGG”,”HHH”);
private var obj=new Object();
public function ArgTest() {
myArgFunc(”AAA”, “BBB”,”CCC”);
myArgFunc.apply(null,argArr)
}
public function myArgFunc(…args):void {
//取args做为参数数组名
trace(args);
}
}
}

 
从程序中可见,…args在作为参数集时与arguments class很相似.可其实args与arguments class的方法完全无关,两者不可混淆。
如下例是可行的:

package {
import flash.display.Sprite;
public class ArgTest extends Sprite {
private var argArr:Array=new Array(”EEE”,”FFF”,”GGG”);
private var count:Number=0;
public function ArgTest() {
myArgFunc(”AAA”, “BBB”,”CCC”);
}
public function myArgFunc(A,B,C):void {
trace(arguments);
if (count++<10) {
myCallee(arguments.callee);
}
}
public function myCallee(caller:Function) {
caller.apply(null,argArr);
}
}
}

 


如果取用…args作为参数,则不管取args.callee还是arguments.callee都是无效的.须注意,在As3中,推荐用“… (rest) parameter”方法来代替arguments的(ActionScript 3.0 includes a new ...(rest) keyword that is recommended instead of the arguments class.).
另外发现Array.sort()和Array.splice()也用到了…(rest) ,暂且表过吧.

分享到:
评论

相关推荐

    es6函数之rest参数用法实例分析

    使用rest参数时,我们可以直接对`values`进行数组操作,无需通过`Array.prototype.slice.call`转换: ```javascript // 使用arguments function sortNumbers() { return Array.prototype.slice.call(arguments)....

    ES6中的rest参数与扩展运算符详解

    使用rest参数时需要注意以下两点: 1. Rest参数必须是函数参数列表的最后一个参数,不能放在其他参数之后。 2. 函数的length属性不包括rest参数,因此上述`add`函数的length为1。 **扩展运算符** (`...`) 与rest...

    C++语言函数的默认参数以及占位参数.zip

    默认参数允许我们在定义函数时为参数提供一个预设值。如果在调用函数时没有为该参数提供值,编译器就会使用这个默认值。这样,函数调用者可以选择性地提供参数,而不必总是为所有参数赋值。默认参数的语法如下: ``...

    ECMAScript6函数剩余参数(Rest Parameters)

    在ECMAScript6中,函数剩余参数(Rest Parameters)是一个非常重要的新特性,它允许开发者捕获函数调用时传入的多余参数。在传统的JavaScript中,`arguments`对象用于访问函数的所有参数,但`arguments`并不是一个...

    JavaScript程序设计ES之剩余参数rest参数共2

    剩余参数允许我们在函数定义中使用三个点(...)来收集传入的任意数量的参数,这些参数会作为一个数组存储。这一特性极大地提升了函数的灵活性,使得我们不再需要预先知道将有多少个参数传递给函数。 在传统的...

    不定参数函数

    不定参数函数是编程语言中的一种特性,允许我们定义可以接受任意数量参数的函数。这种功能在处理各种场景时非常有用,比如需要一个函数能够灵活地处理任意数量的输入数据,或者在不知道具体参数数量的情况下创建通用...

    深入学习JavaScript中的Rest参数和参数默认值

    值得注意的是,Rest参数只能作为函数参数中的最后一个参数出现,而且如果函数调用时没有提供任何额外的参数,则Rest参数对应的数组将是一个空数组,而不是undefined。这使得我们在编写代码时不必担心某些参数未定义...

    探讨JavaScript中的Rest参数和参数默认值

    在JavaScript中,Rest参数和参数默认值是ES6(ES2015)中引入的两个重要概念,它们极大地增强了函数的灵活性和可用性。本文将详细探讨这两个特性,以便读者能够更好地理解和运用它们。 首先,我们来看看什么是Rest...

    js函数扩展

    7. **默认参数和剩余参数**:默认参数允许我们在定义函数时为参数提供默认值,而剩余参数(`...rest`)则能捕获未指定位置的剩余参数,方便处理不定数量的输入。 8. **异步函数**:随着Promise和async/await的引入...

    js中对函数设置默认参数值的3种方法.docx

    这种方法适用于简单的场景,但需要注意的是,它并不适用于rest参数(`...`)或者默认参数(`param = defaultValue`)的情况。 2. **使用逻辑运算符`||`** 当逻辑运算符`||`的左侧表达式为`false`、`null`、`...

    JavaScript定义函数_动力节点Java学院整理

    函数表达式允许在赋值时直接定义函数,也可以用于创建立即执行函数表达式(IIFE),即创建一个匿名函数并立即调用它。例如: ```javascript var abs = function(x) { if (x &gt;= 0) { return x; } else { return -...

    JAVA SCRIPT 函数 完整 版

    默认参数和rest参数也是ES6新增的特性: ```javascript function greet(name = 'Guest') { console.log('Hello, ' + name); } function sum(...numbers) { return numbers.reduce((total, num) =&gt; total + ...

    javascript函数速查

    ES6引入的箭头函数提供了更简洁的语法来定义函数,例如: ```javascript const add = (x, y) =&gt; x + y; console.log(add(1, 2)); // 输出:3 ``` 箭头函数有两点需要注意:它们没有自己的this,而是继承自父作用域;...

    JavaScript 基础函数_深化剖析变量和作用域_.docx

    自ES6开始,JavaScript引入了"rest参数",它允许我们捕获函数调用时传入的剩余参数。rest参数以三个点`...`表示,例如: ```javascript function foo(a, b, ...rest) { // a 和 b 是已命名的参数,rest 是剩余参数...

    javascript函数大全

    1. **定义函数**:函数通过`function`关键字定义,后面跟着函数名和一组参数列表,参数之间用逗号分隔,然后是花括号内的函数体。例如: ```javascript function sayHello(name) { console.log('Hello, ' + name)...

    ES6中箭头函数的定义与调用方式详解

    箭头函数的基本用法是使用箭头符号(=&gt;)来定义函数,例如: ``` var f = v =&gt; v; ``` 这个函数等同于: ``` var f = function(v) { return v; } ``` 无参数的箭头函数 无参数的箭头函数的定义方式是: ``` ...

    JavaScript ES6函数式编程入门经典_javascript_

    6. **剩余参数与扩展运算符**:剩余参数(`...rest`)允许你在函数定义时捕获传入的多余参数,而扩展运算符(`...`)则用于展开数组或对象,如`function sum(...numbers) { return numbers.reduce((total, num) =&gt; ...

    新技术培训 培训讲义5_函数.doc

    默认值可以在定义参数时设置,如 `function param1:type=value, param2:type...`。不定长参数,表示函数可以接受任意数量的参数,通常使用 `...rest:Array` 表示,其中 `rest` 是一个数组,包含了所有额外的参数。 ...

Global site tag (gtag.js) - Google Analytics