本文和大家重点讨论一下Flex函数的用法,Flex函数是封装起来的一段特定的代码块,目的是为了更好的重用代码,更容易维护,希望本文的介绍能让你有所收获。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了大柴旦免费建站欢迎大家使用!
Flex函数
Flex函数:Flex函数是封装起来的一段特定的代码块,目的是为了更好的重用代码,更容易维护.
1.定义Flex函数
格式:作用域functionFlex函数名(参数1,参数2,....):返回类型
{
Flex函数体
}
Code
- /*************************************
- *创建获取全名的Flex函数
- *************************************/
- privatefunctionGetFullName(fName:String,lName:String):String
- {
- //组合名字
- varfullName:String=fName+""+lName;
- //返回全名
- returnfullName;
- }
2.Flex函数调用
格式:Flex函数名(参数1,参数2,参数3,...);
Code
- //包
- package
- {
- importflash.display.Sprite;
- //类名
- publicclassFunctionExampleextendsSprite
- {
- /*************************************
- *构造Flex函数
- *************************************/
- publicfunctionFunctionExample()
- {
- //调用Flex函数
- varfullName:String=GetFullName("Tom","Green");
- //输出
- trace("全名是:"+fullName);
- }
- /*************************************
- *创建获取全名的Flex函数
- *************************************/
- privatefunctionGetFullName(fName:String,lName:String):String
- {
- //组合名字
- varfullName:String=fName+""+lName;
- //返回全名
- returnfullName;
- }
- }
- }
#p#3.Flex函数作用域:
Flex函数是有权限,分为公有和私有.公有关键字public,私有关键字private.
Code
- package
- {
- publicclassSongInfo
- {
- /************************************
- *根据歌曲名获取歌手信息
- **/
- publicfunctionGetSinger(songTitle:String):String
- {
- varsinger:String="";
- switch(songTitle)
- {
- case"改变自己":
- singer="王力宏";
- break;
- case"夜曲":
- singer="周杰伦";
- break;
- case"知足":
- singer="五月天";
- break;
- case"就是爱你":
- singer="陶喆";
- break;
- }
- returnsinger;
- }
- /************************************
- *根据歌曲名获取歌手信息
- **/
- publicfunctionGetAlbumInfo(songTitle:String):String
- {
- returnGetAlbum(songTitle);
- }
- /************************************
- *根据歌曲名获取歌手信息
- **/
- privatefunctionGetAlbum(songTitle:String):String
- {
- varalbum:String="";
- switch(songTitle)
- {
- case"改变自己":
- album="改变自己";
- break;
- case"夜曲":
- album="十一月的萧邦";
- break;
- case"知足":
- album="知足";
- break;
- case"就是爱你":
- album="太平盛世";
- break;
- }
- returnalbum;
- }
- }
- }
4.访问上面的Flex函数:
Code
- package
- {
- importflash.display.Sprite;
- publicclassFunctionScopeExampleextendsSprite
- {
- /*************************************
- *构造Flex函数
- *************************************/
- publicfunctionFunctionScopeExample()
- {
- //调用Flex函数
- GetSongInfo("夜曲");
- }
- /*************************************
- *获取歌曲信息
- *************************************/
- privatefunctionGetSongInfo(song:String):void
- {
- //声明变量
- varsinger:String="";
- varalbum:String="";
- //实例化
- varsongInfo:SongInfo=newSongInfo();
- //获取歌手信息
- singer=songInfo.GetSinger(song);
- //获取所属专辑
- album=songInfo.GetAlbumInfo(song);
- //输出结果
- trace("歌曲名:"+song);
- trace("歌手:"+singer);
- trace("所属专辑:"+album);
- }
- }
- }
返回结果:
歌曲名:夜曲
歌手:周杰伦
所属专辑:十一月的萧邦#p#
5.Flex函数的参数
5.1.值参数:
值参数传入Flex函数体后复制一个副本在Flex函数内使用不会影响外部变量的值.
Code
- publicfunctionArgumentsExample()
- {
- //值参数
- varfName:String="Lalo";
- trace("传递之前的变量值:"+fName);
- PassPrimitives(fName);
- trace("传递之后的变量值:"+fName);
- }
- /************************************
- *值传递参数
- **/
- privatefunctionPassPrimitives(fName:String):void
- {
- fName="hello!"+fName;
- trace("Flex函数返回值:"+fName);
- }
- /*返回值
- 传递之前的变量值:Lalo
- Flex函数返回值:hello!Lalo
- 传递之后的变量值:Lalo
- */
引用参数:引用参数传入Flex函数体后部会产生一个副本,而是传递一个参数的引用,所以Flex函数内部所做的修改会影响到外部引用变量的值.
Code
- publicfunctionArgumentsExample()
- {
- //引用参数
- varmyName:Object={fName:"Lalo"};
- trace("传递之前的变量值:"+myName.fName);
- PassByRef(myName);
- trace("传递之后的变量值:"+myName.fName);
- }
- /************************************
- *引用传递参数
- **/
- privatefunctionPassByRef(myName:Object):void
- {
- myName.fName="Tom";
- trace("Flex函数返回值:"+myName.fName);
- }
- /*返回结果:
- 传递之前的变量值:Lalo
- Flex函数返回值:Tom
- 传递之后的变量值:Tom
- */
#p#5.3默认参数:
定义了默认参数后,传值时可以将其省略,但是默认参数必须放在非默认参数后面.
Code
- publicfunctionArgumentsExample()
- {
- //默认参数
- DefaultArguments(2,5);
- }
- /************************************
- *默认参数
- **/
- privatefunctionDefaultArguments(x:int,y:int,z:int=10):void
- {
- trace(x,y,z);
- }
- /*返回结果:2510*/
5.4arguments对象参数:
arguments对象是一个数组,保存着所有传递过来的参数信息,可以应用arguments对象获得所有的参数信息,arguments.length属性获得参数的个数.
Code
- //arguments参数
- ArgumentsObject(10,20,30);
- /************************************
- *arguments参数
- **/
- privatefunctionArgumentsObject(x:int,y:int,z:int):void
- {
- trace("输出所有参数:");
- for(vari:uint=0;i
- {
- trace(arguments[i]);
- }
- }
/*返回结果
10
20
30
*/
5.5...(rest)参数:
接受多个以逗号分割的参数.
Code
- /************************************
- *(rest)参数
- **/
- privatefunctionRestArguments(args):void
- {
- trace("输出所有参数:");
- for(vari:uint=0;i
- {
- trace(args[i]);
- }
- }
- //(rest)参数
- RestArguments(10,20,30);
/*返回结果:
10
20
30
*/
6.递归Flex函数:
反复调用自身的Flex函数.
Code
- publicfunctionSelfFunctionExample()
- {
- trace("递归Flex函数的结果:"+SelfFunction(6));
- trace(GetFullName());
- }
- *递归Flex函数
- **/
- publicfunctionSelfFunction(x:int):int
- {
- if(x==0)
- {
- return0;
- }
- else
- {
- return2*SelfFunction(x-1)+x*x;
- }
- }
返回结果:
递归Flex函数的结果是:318
文章标题:术语汇编全面认识Flex函数用法
分享网址:http://www.shufengxianlan.com/qtweb/news10/194460.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联