术语汇编 全面认识Flex函数用法

开发 后端
本文向大家简单介绍一下Flex函数的概念,Flex函数是封装起来的一段特定的代码块,目的是为了更好的重用代码,更容易维护。

本文和大家重点讨论一下Flex函数的用法,Flex函数是封装起来的一段特定的代码块,目的是为了更好的重用代码,更容易维护,希望本文的介绍能让你有所收获。

Flex函数

Flex函数:Flex函数是封装起来的一段特定的代码块,目的是为了更好的重用代码,更容易维护.

1.定义Flex函数

格式:作用域functionFlex函数名(参数1,参数2,....):返回类型

{
Flex函数体
}

Code
 

  1. /*************************************  
  2. *创建获取全名的Flex函数  
  3. *************************************/  
  4. privatefunctionGetFullName(fName:String,lName:String):String  
  5. {  
  6. //组合名字  
  7. varfullName:String=fName+""+lName;  
  8.  
  9. //返回全名  
  10. returnfullName;  
  11. }  
  12.  

2.Flex函数调用

格式:Flex函数名(参数1,参数2,参数3,...);

Code
 

  1. //包  
  2. package  
  3. {  
  4. importflash.display.Sprite;  
  5. //类名  
  6. publicclassFunctionExampleextendsSprite  
  7. {  
  8. /*************************************  
  9. *构造Flex函数  
  10. *************************************/  
  11. publicfunctionFunctionExample()  
  12. {  
  13. //调用Flex函数  
  14. varfullName:String=GetFullName("Tom","Green");  
  15.  
  16. //输出  
  17. trace("全名是:"+fullName);  
  18. }  
  19.  
  20. /*************************************  
  21. *创建获取全名的Flex函数  
  22. *************************************/  
  23. privatefunctionGetFullName(fName:String,lName:String):String  
  24. {  
  25. //组合名字  
  26. varfullName:String=fName+""+lName;  
  27.  
  28. //返回全名  
  29. returnfullName;  
  30. }  
  31. }  
  32.  
  33. }  
  34.  

 

#p#3.Flex函数作用域:

Flex函数是有权限,分为公有和私有.公有关键字public,私有关键字private.

Code
 

  1. package  
  2. {  
  3.  
  4. publicclassSongInfo  
  5. {  
  6. /************************************  
  7. *根据歌曲名获取歌手信息  
  8. **/  
  9. publicfunctionGetSinger(songTitle:String):String  
  10. {  
  11. varsinger:String="";  
  12.  
  13. switch(songTitle)  
  14. {  
  15. case"改变自己":  
  16. singer="王力宏";  
  17. break;  
  18. case"夜曲":  
  19. singer="周杰伦";  
  20. break;  
  21. case"知足":  
  22. singer="五月天";  
  23. break;  
  24. case"就是爱你":  
  25. singer="陶喆";  
  26. break;  
  27. }  
  28.  
  29. returnsinger;  
  30. }  
  31.  
  32. /************************************  
  33. *根据歌曲名获取歌手信息  
  34. **/  
  35. publicfunctionGetAlbumInfo(songTitle:String):String  
  36. {  
  37. returnGetAlbum(songTitle);  
  38. }  
  39.  
  40. /************************************  
  41. *根据歌曲名获取歌手信息  
  42. **/  
  43. privatefunctionGetAlbum(songTitle:String):String  
  44. {  
  45. varalbum:String="";  
  46.  
  47. switch(songTitle)  
  48. {  
  49. case"改变自己":  
  50. album="改变自己";  
  51. break;  
  52. case"夜曲":  
  53. album="十一月的萧邦";  
  54. break;  
  55. case"知足":  
  56. album="知足";  
  57. break;  
  58. case"就是爱你":  
  59. album="太平盛世";  
  60. break;  
  61. }  
  62.  
  63. returnalbum;  
  64. }  
  65. }  
  66.  
  67. }  
  68.  

 

4.访问上面的Flex函数:

Code
 

  1. package  
  2. {  
  3. importflash.display.Sprite;  
  4.  
  5. publicclassFunctionScopeExampleextendsSprite  
  6. {  
  7. /*************************************  
  8. *构造Flex函数  
  9. *************************************/  
  10. publicfunctionFunctionScopeExample()  
  11. {  
  12. //调用Flex函数  
  13. GetSongInfo("夜曲");  
  14. }  
  15.  
  16. /*************************************  
  17. *获取歌曲信息  
  18. *************************************/  
  19. privatefunctionGetSongInfo(song:String):void  
  20. {  
  21. //声明变量  
  22. varsinger:String="";  
  23. varalbum:String="";  
  24.  
  25. //实例化  
  26. varsongInfo:SongInfo=newSongInfo();  
  27. //获取歌手信息  
  28. singer=songInfo.GetSinger(song);  
  29. //获取所属专辑  
  30. album=songInfo.GetAlbumInfo(song);  
  31.  
  32. //输出结果  
  33. trace("歌曲名:"+song);  
  34. trace("歌手:"+singer);  
  35. trace("所属专辑:"+album);  
  36. }  
  37. }  
  38.  
  39. }  
  40.  

 

返回结果:

歌曲名:夜曲

歌手:周杰伦

所属专辑:十一月的萧邦#p#

5.Flex函数的参数

5.1.值参数:

值参数传入Flex函数体后复制一个副本在Flex函数内使用不会影响外部变量的值.

Code
 

  1. publicfunctionArgumentsExample()  
  2. {  
  3. //值参数  
  4. varfName:String="Lalo";  
  5. trace("传递之前的变量值:"+fName);  
  6. PassPrimitives(fName);  
  7. trace("传递之后的变量值:"+fName);  
  8. }  
  9.  
  10. /************************************  
  11. *值传递参数  
  12. **/  
  13. privatefunctionPassPrimitives(fName:String):void  
  14. {  
  15. fName="hello!"+fName;  
  16.  
  17. trace("Flex函数返回值:"+fName);  
  18. }  
  19. /*返回值  
  20. 传递之前的变量值:Lalo  
  21. Flex函数返回值:hello!Lalo  
  22. 传递之后的变量值:Lalo  
  23. */  
  24.  

引用参数:引用参数传入Flex函数体后部会产生一个副本,而是传递一个参数的引用,所以Flex函数内部所做的修改会影响到外部引用变量的值.

Code
 

  1. publicfunctionArgumentsExample()  
  2. {  
  3. //引用参数  
  4. varmyName:Object={fName:"Lalo"};  
  5. trace("传递之前的变量值:"+myName.fName);  
  6. PassByRef(myName);  
  7. trace("传递之后的变量值:"+myName.fName);  
  8. }  
  9.  
  10. /************************************  
  11. *引用传递参数  
  12. **/  
  13. privatefunctionPassByRef(myName:Object):void  
  14. {  
  15. myName.fName="Tom";  
  16. trace("Flex函数返回值:"+myName.fName);  
  17. }  
  18. /*返回结果:  
  19. 传递之前的变量值:Lalo  
  20. Flex函数返回值:Tom  
  21. 传递之后的变量值:Tom  
  22. */  
  23.  

#p#5.3默认参数:

定义了默认参数后,传值时可以将其省略,但是默认参数必须放在非默认参数后面.

Code
 

  1. publicfunctionArgumentsExample()  
  2. {  
  3. //默认参数  
  4. DefaultArguments(2,5);  
  5. }  
  6. /************************************  
  7. *默认参数  
  8. **/  
  9. privatefunctionDefaultArguments(x:int,y:int,z:int=10):void  
  10. {  
  11. trace(x,y,z);  
  12. }  
  13. /*返回结果:2510*/  

5.4arguments对象参数:

arguments对象是一个数组,保存着所有传递过来的参数信息,可以应用arguments对象获得所有的参数信息,arguments.length属性获得参数的个数.

Code
 

  1. //arguments参数  
  2. ArgumentsObject(10,20,30);  
  3. /************************************  
  4. *arguments参数  
  5. **/  
  6. privatefunctionArgumentsObject(x:int,y:int,z:int):void  
  7. {  
  8. trace("输出所有参数:");  
  9.  
  10. for(vari:uint=0;i<arguments.length;i++)  
  11. {  
  12. trace(arguments[i]);  
  13. }  
  14. }  
  15.  

/*返回结果
10
20
30
*/
5.5...(rest)参数:

接受多个以逗号分割的参数.

Code
 

  1. /************************************  
  2. *(rest)参数  
  3. **/  
  4. privatefunctionRestArguments(args):void  
  5. {  
  6. trace("输出所有参数:");  
  7.  
  8. for(vari:uint=0;i<args.length;i++)  
  9. {  
  10. trace(args[i]);  
  11. }  
  12. }  
  13. //(rest)参数  
  14. RestArguments(10,20,30);  
  15.  

/*返回结果:
10
20
30
*/
6.递归Flex函数:

反复调用自身的Flex函数.

Code
 

  1. publicfunctionSelfFunctionExample()  
  2. {  
  3. trace("递归Flex函数的结果:"+SelfFunction(6));  
  4. trace(GetFullName());  
  5. }  
  6.  
  7. *递归Flex函数  
  8. **/  
  9. publicfunctionSelfFunction(x:int):int  
  10. {  
  11. if(x==0)  
  12. {  
  13. return0;  
  14. }  
  15. else  
  16. {  
  17. return2*SelfFunction(x-1)+x*x;  
  18. }  
  19. }  
  20.  

返回结果:
递归Flex函数的结果是:318
 

【编辑推荐】

  1. FlexBuilder快捷键使用说明
  2. Flex2.0Beta1新功能出炉
  3. 揭露Flex2.0的几大误区
  4. FlexBuilder3.0与Eclipse3.4的完美结合
  5. 剖析Flex DataGrid分页控件的两种分页形式用法


 

 

责任编辑:佚名 来源: cnblogs.com
相关推荐

2010-07-15 17:50:47

Perl模式

2010-07-14 15:05:21

Perl文件句柄

2010-08-10 10:32:02

Flex语言

2010-07-30 10:23:46

Flex数据绑定

2010-09-26 17:04:48

JVMJava虚拟机

2010-07-20 16:25:50

Perl正则表达式

2010-07-09 17:21:32

UML状态图

2010-07-16 17:12:58

Perl析构函数

2010-06-07 13:02:46

Hadoop简介

2010-08-05 14:51:36

AdobeFlex

2010-07-13 10:21:19

2010-09-17 09:19:08

Java API

2010-07-29 09:00:29

Flex弹出窗口

2010-07-19 16:56:56

Perl线程

2010-06-10 18:27:00

UML语言

2010-07-26 16:54:15

Perl引用

2010-07-27 08:59:19

FlexBuilder

2010-07-13 09:02:16

Perl

2010-06-11 09:33:47

UML顺序图

2010-07-08 09:50:11

UML构件图
点赞
收藏

51CTO技术栈公众号