第 章 AtinSript 中的函数及高级使用技巧.pdf

第 章 AtinSript 中的函数及高级使用技巧.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 ActionScript 3 中的函数及高级使用技巧 函数是什么?函数从外观上看,是一个语句块,包含着至少一条或数条语句;从逻辑上看, 它是可以执行某个目标任务的代码块。它可以接受外部传入的对象或值,还可以返回操作的结果。 函数的准确定义是:“函数”(Function )是执行特定任务并可以在程序中重用的代码块。 ActionScript 3 中函数分为两类:方法(Method )和函数闭包(Function closures )。如果将函数 定义为类定义的一部分或者将它与某个对象绑定,则该函数称为方法。 本章导读 本章介绍 ActionScript 3 函数新增的功能和独有的性质。本章带星号部分比 较难,有些涉及到了ActionScript 3 类结构的知识。 对初学者而言,掌握4.2 节及其之前的内容即可。 对熟悉ActionScript 2 的读者来说,本章要全部仔细阅读,ActionScript 3 的 函数不论是用法还是底层实现细节上都有重大变化。尤其对4.1.3 节、4.3 节要仔 细阅读。 对于熟悉其他语言的读者,ActionScript 3 的函数概念虽然与其他语言相同, 但其本质和很多特性都是独有的。请仔细阅读本章所有内容。尤其注意4.2.1 节、 4.3 节。4.4 节讲述了一些ActionScript 3 独有的函数运用高级技巧,请详细阅读并 实践。 4.1 两种定义函数方法 函数有两种定义方式。一种是非常熟悉的函数语句(Function statement)声明法;另一 种是 ActionScript 特有的函数表达式(Function expression)声明法。1 4.1.1 函数语句定义法 函数语句定义法与其他语言中的类似,使用 function 关键字来声明,格式如下: 1编译模式与函数的定义方式有些关系,并且对代码的编写也有影响。在本书中,所有代码编写都是在默 认的严格编译模式(Stric Mode )下测试通过的。为了严谨和养成良好的编程习惯起见,笔者不推荐使用宽松 的标准编译模式(Standard Mode )。 function 函数名(参数 1:参数类型, 参数 2:参数类型…):返回值类型 { //函数内部语句 } //例子: function testAdd(a:int, b:int):int { return a+b; } 4.1.2 函数表达式定义法 函数表达式定义法是ActionScript 特有的一种定义方式。定义格式如下,请读者与上文比 较。 进阶知识 “=”号右边的内容function 后面没有跟随函数名,相当于创建了一个匿名函数对 象,并将引用赋值给了左边的函数型变量。 var 函数名:Function = function (参数 1:参数类型, 参数 2:参数类型…):返回值类型 { //函数内部语句 } //例子: var testAdd:Function = function (a:int, b:int):int { return a+b; } 4.1.3 *两种定义法的区别和选择 这两种定义法定义的函数在一般使用中不会感觉到有什么不同。平时,应当尽量使用函数 语句定义法。这种定义方式更加标准,也很简捷。 在定义位置上,函数语句定义法定义的函数在编译时会被提升(hoisting)到最前面,而 函数表达式定义法只能先定义再使用,只有定义后面的语句才可以成功调用。如下例,testA() 和 testB()都是在最后面定义的,testB()能执行成功,但是 testA() 由于使用的是函数表达式定义 法,就不行。要想成功执行 testA() ,必须要把testA()移到 testA 定义后面。 testA();//将这一行移到最后就能编译成功 testB(); var testA:Function = function():void {trace ("A")}; fu

文档评论(0)

asd3366 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档