Flash5ActionScript教程 三十七
lash 5允许用户自定义函数来执行一系列语句,对传递过来的值进行操作,并可返回值。函数定义好以后,就可以从任何时间轴(包括载入动画的时间轴)调用它。可以把函数想像为一个“黑箱”。调用函数时给它提供输入(参数),它执行某些操作后产生输出(返回值)。 在自定义函数中,最好对它的输入、输出和用途作详细的注释,使用户易于理解和使用。
一、定义函数
象变量一样,函数是附属于定义它的电影剪辑的。当一个函数被重新定义时,新的定义取代旧的定义。要定义一个函数,使用
function
动作,后跟一个函数名、要传递给函数的参数和指出该函数做什么的ActionScript语句。 下面是一个称为
Circle
的函数,有一个参数radius
:function Circle(radius) {this.radius = radius;this.area = Math.PI * radius * radius;}注:用于函数体内的关键字
this
是对函数所属电影剪辑的引用。 也可以通过创建函数常量来定义函数。函数常量是指在表达式中而不是在语句中声明的不命名的函数。可以用函数常量定义函数,返回它的值,把它赋给表达式中的变量,如下所示:
area = (function () {return Math.PI * radius *radius;})(5);二、给函数传递参数
参数是函数代码处理的元素。例如,下面的函数有两个参数
initials
和finalScore :
function fillOutScorecard(initials, finalScore) {scorecard.display = initials;scorecard.score = finalScore;}当这个函数被调用时,必须把它要求的参数传递给它。该函数用传递过来的值取代函数定义中的参数。在本例中,
scorecard
是一个电影剪辑的实例名;display
和score
是实例中的输入文本域。下面的函数调用把值"JEB"赋
给变量display
,把值45000赋给变量score
: fillOutScorecard("JEB", 45000);函数
fillOutScorecard
中的参数initials
类似于局部变量。该函数被调用时它存在,退出函数时它消失。如果调用函数时省略了参数,省略了的参数以undefined
传递。如果在调用函数时提供了函数定义中并不要求的多余参数,这些多余? 数被忽略。