AS3基础教程-第13课-函数
本节课详解函数的相关概念。打开flashCS6,新建一个AS3.0的flash文档。按F9键打开动作面板,准备写代码
工具/原料
flashCS6
一、什么是函数
1、什么是函数:AS3中的函数与数学课上我们所学的函数并不相同。在AS3内,函数是被设计为“执行多条命令的容器”。我们可以将很多行的代码,放入一个函数体内,在后面的代码中,只要访问这个函数体,就可以自动执行函数体内部的多行代码。
2、函数的优点:由上面的描述可知,如果某个作品内,某一段代码要重复使用多次,就可以将这段代码包含在一个函数内部,届时只需调用函数的名字,就可以瞬间实现目的。而且,函数可以带参数,从而实现不同的功能。
二、函数的声明和调用
1、函数的声明格式:<1>与变量的声明不同,函数声明的格式如下:function 函数名(参数1:数据类型,参数2:数据类型,参数3:数据类型...):返回值类型{//函数需要执行的多行命令//如果定义了返回值类型,必须由 return语句返回一个相应数据类型的值}<2>函数的调用格式如下:函数名(参数1,参数2,参数3...)==========================看起来晕晕的吧,其实共有多种声明的方式,现分开用不同的例子来阐述
2、第一种情况:无参数、无返回值类型代码如下://声明:function myFun(){trace("你好")}//调用:myFun()这是最简单的一种函数。未设置参数,也没有设定返回值类型,仅用于执行函数体内设定好的命令而已。这里的命令只有一行,实际情况下应该有多行。
3、第二种情况:无参数、有返回值类型代码如下://声明function myFun():String{return("你好")}//调用trace(myFun())本例实现的效果和上例一样,只不过表现形式上并不相同。本例也没有设置参数,但是设定了返回值类型是String类型,此时就必须在函数体内使用return语句指明返回的值(必须是对应的String数据类型)
4、第三种情况:有参数、无返回值类型代码如下://声明function myFun(name:String,age:uint){trace(name+age+"岁劲忧商偌了。")}//调用myFun("小华",10)myFun("小红",9)输出结果:小华10岁了。小红9岁了。这就是带参数的函数的强悍之处,通过调用时传入不同的对象,flash就可以按照自己设计时的要求进行相应的反馈。反馈的模式都是一样的,只不过具体数值不同而已。无论是声明函数、还是调用函数,如果有多个参数,参数之间都必须以逗号隔开。当然,可以只有一个参数,此时函数名后面紧跟的小括号内只有一个参数,自然不存在逗号了。
5、第四种情况:有参数、有返回值类型代码如下://声明function myFun(author:String):String{retur荏鱿胫协n("本例由"+author+"设计制作")}//调用trace(myFun("网雨霏霏"))输出结果:本例由网雨霏霏设计制作注意,本例与上例稍有不同。本例要求有返回值类型(String类型),则必须在函数体内部加上return语句,否则会报错。本例的参数只设置了一个,其实还可以视需求设置多个参数(参数之间用逗号隔开)
三、参数的默认值
1、当声明函数时,如果定义了参数,则有两种情苄念上妒况可供选择:<1>参数可以没有默认值(上面的例子都是这种情况):那么,在后续 调用函数的时候,就必须给参数设置具体的数值,否则会报错。比如说,在第四种情况的最后一行,修改为trace(myFun())就会报错,因为没有设置参数的具体值。<2>也可以有默认值。如果给参数设定了默认值,在调用时,可以有参数的具体值,也可以不带参数。见下例://声明function myFun(author:String="网雨霏霏"):String{return("本例由"+author+"设计制作")}//调用trace(myFun())输出结果:本例由网雨霏霏设计制作