AS函数复习

来源:互联网 发布:动力学分析软件 编辑:程序博客网 时间:2024/05/16 14:37

ActionScript 3.0 中有两种函数类型:方法 和函数闭包

方法:            如果您将函数定义为类定义的一部分或者将它附加到对象的实例,则该函数称为方法。

函数闭包    :如果您以其它任何方式定义函数,则该函数称为函数闭包

随机函数

var randomNumber:Number=Math.random();

自定义函数

函数语句


函数语句以 function 关键字开头,后跟:
• 函数名
• 用小括号括起来的逗号分隔参数列表

 function   traceFunction (aParam:String)
{
trace(aParam);
};

带有函数表达式的赋值语句以 var 关键字开头,后跟:
• 函数名
• 冒号运算符 (:)
• 指示数据类型的 Function 类
• 赋值运算符 (=)
• function 关键字
• 用小括号括起来的逗号分隔参数列表
• 用大括号括起来的函数体 — 即,在调用函数时要执行的 ActionScript 代码
例如,下面的代码使用函数表达式来声明 traceParameter 函数:
var traceParameter:Function = function (aParam:String)
{
trace(aParam);
};

带返回值的函数

function 函数名(参数):返回类型

function doubleNum(baseNum:int):int
{
return (baseNum * 2);//返回并结束函数
}

函数参数

... (rest) 参数

function traceArgArray(... args):void{for (var i:uint = 0; i < args.length; i++){trace(args[i]);}}traceArgArray(1, 2, 3);
... (rest) 参数还可与其它参数一起使用,前提是 ... (rest) 参数是列出的最后一个参数。
function traceArgArray(x: int, ... args)
{
for (var i:uint = 0; i < args.length; i++)
{
trace(args[i]);
}
}
traceArgArray(1, 2, 3);
// output:   //因为第一个参数不数学  ...(rest)
// 2
// 3

匿名函数递归

var factorial:Function = function (x:uint){if(x == 0){return 1;}else{return (x * arguments.callee(x - 1));//arguments.callee启动匿名函数递归}}trace(factorial(5)); // 120
如果在函数声明中使用 ... (rest) 参数,则不能使用 arguments 对象。而必须使用为参数声明的参数名来访问参数。

函数作为对象

ActionScript 3.0 中的函数是对象。当您创建函数时,就是在创建对象,该对象不仅可以作为参数传递给另一个函数,而且还
可以有附加的属性和方法。





0 0
原创粉丝点击