深入理解flash函数(AS2)
◆理解函数的目的
◆给函数传递参数
◆理解函数的变量作用域的重要性
◆编写自定义函数
◆从函数返回值
◆用setInterval()创建递归函数
通过使用函数,就可以创建可重用的代码、可读的代码、灵巧的代码。有了函数,就可以写出有效的、结构精巧的、维护得很好的代码,而不是冗长的、笨拙的代码。
一、理解用函数进行编程
函数是一种革新。写代码没有函数,就像出版图书没有印刷机,出版业是如此没有生产力,如此没产量。有了印刷机,只制一次版,就可以从那个版复制出许多副本了。印刷机是一种革新。同样地,如果编程序没有函数,就不得不一次一次地写出代码的每一行。但是,当写出一个函数时,就可以将多条语句封装在一起,就可以重复地调用那个函数(即那些语句的组),而不用重复写相同的代码了。那就巧妙多了。函数是一种组织起一个代码块的方法,该代码块直到从其主流程中调用(直接地或间接地)时才执行。换句话说,函数是一种将调用时才执行(不调用不执行)某个特殊任务的代码块包装在一起的方法。函数比非结构化编程更具优势。这些优势包括:
◆ 通过消除混乱和冗余的代码,使代码更具有可读性。
◆ 通过重复使用函数而不是每次重复输入整个代码块,使程序更加有效率。
◆ 函数成为了进行修改的中心点。在函数中做个修改,该修改就能被应用到每个调用该函数的实例中。
◆ 编写成熟的函数可以在许多程序中重复使用。因此,可以开发出一个可被用于建立各种程序的函数库,而不需要每次从打草稿开始写脚本。
◆ 包装在一个函数中的代码提供了进行用户交互的基础。如果没有函数,应用程序就像一个单独的程序那样运行。有了函数,一个用户发起的动作就可以调用一个函数。
二、定义自定义函数
我们已经知道在ActtionScript代码中使用函数的某些优点了。现在,需要学习如何来写函数。写一个函数也被称为“定义”或“声明”一个函数。函数的语法:
function 函数名(参数):返回数据类型{
函数体
)
在函数的语法中,要注意如下几个关键点:
◆function关键字告诉Flash,正在声明一个函数。当定义一个函数时,必须像上面那样包括function关键字。
◆函数应该遵守变量的命名规则。就像命名变量那样,给函数取一个能表示其功能的名字是一个好想法。
◆所有函数的定义都必须在函数名字后面包括一对圆括号。在圆括号中的“参数”可以没有。在后面可以读到有关参数的更详细的内容。但是,无论一个函数是否定义了参数,都必须在定义中包括一对圆括号。
◆圆括号后面接着就是冒号和一个有效的数据类型名字。数据类型是函数将返回的数据的类型。在后面会看到如何返回数据。使用Void表示该函数不返回值。
◆函数体是由一对开始和结束波浪式大括号({})定义的。
现在已经知道基本的语法了,那就看一个非常简单的函数例子吧:
- function displayGreeting():Void{
- trace("Hello.");
- }
三、调用函数
我们将术语“函数”定义为延迟执行的代码块。这就是说,一个函数可以被定义,但直到访问或调用它之前什么也不会发生。可以自己测试一下这一点,即在主时间轴的第1帧中,用如下代码创建一个新的Flash影片:
- function displayGreeting():Void{
- trace("Hello.");
- }
当测试该影片时会看到,尽管在代码中有一个trace()动作,但什么也没发生。所以,既然知道了如何“定义”函数,就需要学习如何通过“调用”它们而在程序中使用它们。为了调用一个函数,需要使用该函数的名字,并后跟一个圆括号(它被称为“函数调用运算符”)。当调用一个函数时,对函数的调用本身就是一个语句。因此,应该在该语句的后面使用一个分号。下面的例子定义了一个函数,然后调用它。如果想自己学习和测试它,只需将该代码放置在主时间轴的第1帧即可。
- function displayGreeting():Void{
- trace("Hello.");
- }
- displayGreeting();//调用函数
当测试该影片时,在Output窗口中显示如下内容:
Hello.
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例