函数,或者叫方法,目的是把一些经常用到的代码块单独拿出来,聚集到一起,供以后来用。为了能适应更多的场合,会有一定的抽象。
通过一个例子,看看as中是如何定义一个函数的:
function helloWorld(s:String):void{
trace(s);
}
as中用var来定义一个变量,用function来定义一个函数,上面的例子中定义了一个函数,名字叫helloWorld,括号中定义了调用函数时需要传入的参数:一个String类型的参数(s:Stirng),冒号后面是函数返回值得类型,没有返回值可以不写,或写:void。学过电路的应该能联想到,函数就相当于一个黑盒子,我们只需要知道给它一个输入值,就会按照一定的规则得到一个输出,具体内部怎么实现的,不需要知道(自己设计除外)。
看了函数的定义,再来看一下如何让调用。其实之前已经调用过函数了,如gotoAndStop();trace()都是函数,gotoAndStop需要传入一个数值,表示跳转到相应的帧(其实要复杂一点,暂时可以不用管)。调用trace函数,传入一个字符串String就会在控制台输出相应的内容。
函数可以通过函数名来调用,调用上面的函数方法如下:
helloWorld("hanyeah says : hello world");//输出 hanyeah says : hello world
扩展:
1、函数定义时,传入的参数和返回的参数都是可选的,可以不传参数,或者传入n个参数;返回值只能选择没有返回值void或是返回任意一种类型的返回值。
2、函数定义和调用的顺序可以任意。如
function helloWorld(s:String):void{
trace(s);
}
helloWorld("hanyeah says : hello world");
和
helloWorld("hanyeah says : hello world");
function helloWorld(s:String):void{
trace(s);
}
都是可以的。
3、几个例子:
1)不传入参数
helloWorld01();//输出 hanyeah says : hello world
function helloWorld01():void{
trace("hanyeah says : hello world");
}
2)传入多个参数,及返回值
trace(sum(1.5,2.3));//输出1.5和2.3的和,所以输出为3.8
function sum(a:Number,b:Number):Number{
return a+b;//return是返回的意思,这句就是返回a+b的值,a和b都是调用函数时传进来的参数,Number类型。
}
注意:return的值要和函数的返回值类型一致。
4、当需要重复执行某些操作的时候,可以考虑是否能用函数来实现。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。