- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ActionScript3互动编程第3讲
ActionScript 3 互动编程 第三讲 函数 前言 函数是指,在程序中执行特定的任务并可重用的代码块。在面向过程中,称为闭包函数,在类体中,或与某个对象进行绑定称为该类或对象的方法。 函数可接受外部传入的值也可返回运算的结果。 一个简单的例子: 比如:我们现在有一个任务,就是让多个影片剪辑执行相同的运算即,沿着x轴向左移动,并且逐渐变小,最后消失。如果我们对每一个影片剪辑都输入相同的命令显然不是最佳的做法: 前例中只有三个影片剪辑,而且每个影片剪辑所作的属性操作也只有位置和缩放属性,我们还可以接受,如果是有很多影片剪辑呢?或者说如果是一项很复杂的任务需要几十行甚至上百行的代码才能完成,我们这种方法就不适用了。这时候我们就可以考虑把一项相对独立的任务写成一个特定的函数,用到时直接对该函数调用就可以了,这就是面向对象的精髓——代码复用的概念了。函数是实现代码复用最简单的形式。 前例的改写 函数综合练习——格式化时间函数的编写 function formatTime(h:*,m:*,s:*):String { var _h:String=format(h); var _m:String=format(m); var _s:String=format(s); var _result=_h+:+_m+:+_s; return _result; } * mc1.x++ mc2.x++ mc3.x++ mc1.scaleX-=0.1 mc2.scaleX-=0.1 mc3.scaleX-=0.1 movies(mc1) movies(mc2) movies(mc3) function movies(mc:MovieClip):void{ mc.x++ mc.scaleX-=0.1 } 函数定义法 函数的定义有两种方式:一种是函数语句定义法;另外一种是函数表达式定义法. 1、函数语句定义法的格式如下: 看下例,声明一个函数,功能是角度转换弧度。 function 函数名(参数1,参数2,...):返回类型{ //函数体 } function toAngle(degree:Number):Number{ return degree*Math.PI / 180 } 采用这种方式进行定义的函数可以获得更加灵活的空间,稍后讨论。我们可以理解为:我们定义了一个变量,然后在内存中申请了一个内存空间并声明了一个匿名函数,将其引用赋值给了变量: var 函数名= function (参数1,参数2,...):返回类型{ //函数体 } 2、函数表达式定义法格式 var toAngle=function (degree:Number):Number{ return degree*Math.PI / 180 } 2、两种定义法的区别 函数语句定义法更标准在运行中执行顺序会提升,而后者则必须先定义再使用: afun(开心);//报错:值非函数,这条必须注释掉,否则就把afun定义提前 bfun(不开心);//成功 var afun=function(w:String){ trace(w) }; function bfun(s:String) { trace(s); } var afun=function(w:String){ trace(w) }; afun=null //函数被回收的例子 函数表达式定义法变量持有的引用一旦改变,函数体就会变成匿名函数,被垃圾回收机制回收: 4、函数的参数 AS3对函数的参数作了严格的设定,函数调用时参数的个数和类型要严格的和定义时保持一致,否则便一起就会报错: bfun(不开心);//成功 bfun(20)//错误1067: int 类型值的隐式强制指令的目标是非相关类型 String。 bfun(20,20)//错误,1137: 参数个数不正确。不应超过 1 个。 function bfun(s:String) { trace(s); } 4、函数的参数 AS3的函数参数传递的是引用: var varA:Array=[10,20,12] var varB:Number=2 function testFunc(a:Array,b:Number){ a.push(100) b=10 } testFunc(varA,varB) trace(varA) trace(varB) 4、函数的默认参数设定 在定义函数时,可以为参数设定初始值,这是在调用该函数时如果没有指定该参数,编译器会自动调用该参数的默认值: function testFunc(b:Number=20){ trace(b) } testFunc()//20 te
您可能关注的文档
最近下载
- T∕CACM 1137-2018 中医神志病临床诊疗指南 躯体形式障碍.pdf
- 2025人教版八年级上册英语 Unit 5 What a Delicious Meal! 第1课时 教案(表格式) .docx VIP
- 与采购人配合沟通方案.docx VIP
- 晋剧《明公断》剧本.doc VIP
- 血液透析并发症脑出血ppt.pptx
- 航空与航天摄影技术课件.pptx
- 2024-2025学年深圳市人大附中新高一入学分班考试数学模拟试卷附答案解析.docx VIP
- 西部黄金伊犁有限责任公司金锌精矿综合回收及氰化渣无害化治理项目环境影响报告书.pdf VIP
- 不锈钢管安装施工方案.doc VIP
- 含碘对比剂静脉外渗护理管理实践指南解读.pptx VIP
文档评论(0)