函数是一种革新。写代码没有函数,就象出版图书没有印刷机。
函数是一种组织起一个代码块的方法,该代码块直到从其主流程序中调用(直接地或间接地)时才执行。换句话说,函数是一种将调用时才执行(不调用不执行)某个特殊任务的代码块包装在一起的方法。
*写一个函数也被称为“定义”或“声明”一个函数。自定义函数的语法:
function functionName():datatype{
statements
}
关键字function告诉flash,正在声明一个函数,冒号后面是一个有效的数据类型名字,数据类型是函数将返回的数据的类型。无返回值,就使用Void名字。
写一个简单的函数例子:
function displayGreeting():Void{
trace("Hello.");
}
*调用函数
我们将术语“函数”定义为延迟执行的代码块。这就是说,一个函数可以被定义,但直到访问或调用它之前什么也不会发生。
为了调用一个函数,需要使用该函数的名字,并后跟一个圆括号(函数调用运算符)。当调用一个函数时,对函数的调用本身就是一个语句。因此,应该在该语句后面使用一个分号。
下面的例子定义了一个函数,然后调用它。如果想自己学习和测试它,只需将该代码放置在主时间轴第1帧即可。
function displayGreeting():Void{
trace("Hello.");
}
displayGreeting();
当测试该影片时,在Output窗口中显示如下内容:Hello.
*传递参数
上述的例子中,displayGreeting()函数不需要任何参数。
ActionScript并不强求定义函数时的参数列表与调用时传递给该函数的参数个数一致。所以从技术上讲,displayGreeting()函数并不“要求”任何参数。也就是说,尽管并没有给一个定义了参数列表的函数传递任何参数,Flash在编译该代码时也不会出错。但是,这并不是说,函数就会像期望的那样工作。如果没有给它传递它所期望的参数,它很可能就不会正常工作。
许多函数需要给它们传递参数。例如,如果displayGreeting()函数可以使用不同的姓名来显示个性化的问候,就会使displayGreeting()函数更加有趣了。有了参数,实现这一点就简单了。修改后的函数如下所示:
function displayGreeting(sFirstName:String):Void{
trace("Hello,"+ sFirstName);
}
一旦使用这种方式定义了该函数,就可以调用它了,并给它传递不同的参数值。
displayGreeting("Joey");//显示:Hello,Joey
displayGreeting("Robert");//显示:Hello,Robert
参数(变量)是在函数定义的圆括号中声明的,声明时需要给变量创建一个名字并定义一个数据类型。和变量声明有些类似,但声明参数时不需要使用Var关键字,并且不能在圆括号内初始化一个参数。
如果想在函数中使用多个参数,可以使用逗号分隔开多个参数。同样的,当调用该函数时,可以给它传递多个值,只需简单地用逗号分隔这些值。
例如:
function displayGreeting(sFirstName:String,sGreeting:String):Void{
trace("Hello,"+sfirstName+","+sGreeting);
}
displayGreeting("Joey","Good morning.");
//显示:Hello,Joey.Good morning.
当开始将越来越多的参数添加到一个函数定义的参数列表中时,代码就开始超出编辑器的边界了,这时可以在Actiong面板中开启自动换行功能,但通常采用将每个参数或参数组放置到单独的一行,这样增强可读性。
函数是一种组织起一个代码块的方法,该代码块直到从其主流程序中调用(直接地或间接地)时才执行。换句话说,函数是一种将调用时才执行(不调用不执行)某个特殊任务的代码块包装在一起的方法。
*写一个函数也被称为“定义”或“声明”一个函数。自定义函数的语法:
function functionName():datatype{
statements
}
关键字function告诉flash,正在声明一个函数,冒号后面是一个有效的数据类型名字,数据类型是函数将返回的数据的类型。无返回值,就使用Void名字。
写一个简单的函数例子:
function displayGreeting():Void{
trace("Hello.");
}
*调用函数
我们将术语“函数”定义为延迟执行的代码块。这就是说,一个函数可以被定义,但直到访问或调用它之前什么也不会发生。
为了调用一个函数,需要使用该函数的名字,并后跟一个圆括号(函数调用运算符)。当调用一个函数时,对函数的调用本身就是一个语句。因此,应该在该语句后面使用一个分号。
下面的例子定义了一个函数,然后调用它。如果想自己学习和测试它,只需将该代码放置在主时间轴第1帧即可。
function displayGreeting():Void{
trace("Hello.");
}
displayGreeting();
当测试该影片时,在Output窗口中显示如下内容:Hello.
*传递参数
上述的例子中,displayGreeting()函数不需要任何参数。
ActionScript并不强求定义函数时的参数列表与调用时传递给该函数的参数个数一致。所以从技术上讲,displayGreeting()函数并不“要求”任何参数。也就是说,尽管并没有给一个定义了参数列表的函数传递任何参数,Flash在编译该代码时也不会出错。但是,这并不是说,函数就会像期望的那样工作。如果没有给它传递它所期望的参数,它很可能就不会正常工作。
许多函数需要给它们传递参数。例如,如果displayGreeting()函数可以使用不同的姓名来显示个性化的问候,就会使displayGreeting()函数更加有趣了。有了参数,实现这一点就简单了。修改后的函数如下所示:
function displayGreeting(sFirstName:String):Void{
trace("Hello,"+ sFirstName);
}
一旦使用这种方式定义了该函数,就可以调用它了,并给它传递不同的参数值。
displayGreeting("Joey");//显示:Hello,Joey
displayGreeting("Robert");//显示:Hello,Robert
参数(变量)是在函数定义的圆括号中声明的,声明时需要给变量创建一个名字并定义一个数据类型。和变量声明有些类似,但声明参数时不需要使用Var关键字,并且不能在圆括号内初始化一个参数。
如果想在函数中使用多个参数,可以使用逗号分隔开多个参数。同样的,当调用该函数时,可以给它传递多个值,只需简单地用逗号分隔这些值。
例如:
function displayGreeting(sFirstName:String,sGreeting:String):Void{
trace("Hello,"+sfirstName+","+sGreeting);
}
displayGreeting("Joey","Good morning.");
//显示:Hello,Joey.Good morning.
当开始将越来越多的参数添加到一个函数定义的参数列表中时,代码就开始超出编辑器的边界了,这时可以在Actiong面板中开启自动换行功能,但通常采用将每个参数或参数组放置到单独的一行,这样增强可读性。