本文和大家重点讨论一下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.csdahua.cn/qtweb/news10/194460.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网