您好,欢迎访问三七文档
第一部分:ActionScript.3语言基础┃┗━━━━━━━━━━━━━━━━━━┛================================================第2章ActionScript.3语言基本元素================================================2.1.2数据类型概述简单数据类型Boolean(布尔)、int(有符整型)、Number(浮点)、String(字符串)、uint(无符整型)复杂数据类型Array(数组)、Date(日期)、Error(异常)、Function(函数)、RegExp(正则表达)、XML、XMLList2.2.1变量声明var变量:类型var变量:类型=值;2.3声明常量const常量名:类型=值;2.4基础数据类型1.布尔值Boolean(初始化为false)2.数字:intuintNumberint有符号32位整数-2(31次方)-+(2(31次方)-1)uint无符号32位整数0-2(32次方)-1Number64位浮点能用整数优先用intuint,有正负之分,用int。只处理整数,用uint,有小数,用Number。2.4.6Object及关联数组var对象:Object=newObject()var对象:Object={};2.4.8Null、NaN、undefined及各自应用对象:变量的默认值数据类型默认值int0uint0NumberNaNStringnullBooleanfalseArraynullObjectnull没声明undefined*undefined注意:必须声明初值,否则容易出错。2.5运算符,表达式及运用2.5.11typeof、is、astypeof,用字符串返回对象类型,格式:typeof(对象)is,判断操作符左边的对象是否属于右边的类型,返回值为Boolean,格式:对象is数据类型as,判断操作符左边的对象是否属于右边的类型,属于则返回数据,不属于则返回null,格式:对象as数据类型typeof对象类型与返回结果对照表对象类型返回结果ArrayobjectBooleanbooleanFunctionfunctionintnumberNumbernumberObjectobjectStringstringuintnumberXMLxmlXMLListxml2.5.12inin,判断操作符左边的对象是否作为右边对象中的键(Key)或索引,返回值为Boolean比如:vara:Array=[q,w,e];trace(2ina);//数组中有索引2,返回truetrace(3ina);//数组中没有索引3,返回false2.5.13delete关键字AS2.0中可以删除任意任意对象的delete关键字,在AS3.0中只能用于删除对象的动态实例属性,非动态属性不能删除。如果要将一个对象删除,使用对象名=null来进行赋值操作即可。================================================第3章ActionScript.3流程控制================================================3.4.5for...in和foreach...infor(var枚举变量in枚举集合)//枚举变量返回为集合元素键名foreach(var枚举变量in枚举集合)//枚举变量返回为集合元素值3.4.7break和continue标签的特殊用法在循环语句前用标签:的形式为循环体赋标签,然后就可以在break和continue语句后加上空格+这个标签,实现控制对应循环的功能。3.5AS3.0中switch比较默认使用===全等比较,switch条件不会自动执行类型转换,要注意。================================================第4章ActionScript.3中的函数及高级使用技巧================================================4.1.1两种定义函数的方法函数定义式-函数变量式函数语句定义法-函数表达式定义法函数定义式用function开头,function函数名(){}函数变量式用var变量名=function(){},即匿名函数AS编译器会优先执行定义式的函数,而变量式函数则只能先定义,后使用(与变量一样,先定义,后使用)变量式中this关键字绑定对象定义式中this关键字只绑定场景varnum:int=3;functiontestThisA(){trace(this.num)//此处输出3}vartestThisB:Function=function(){trace(this.num)//此处输出300}varObj:Object={num:300};Obj.TestA=testThisAObj.TestB=testThisB4.2参数4.2.1按引用传入参数AS3.0中,所有形参均为引用传入方式,只不过,基元数据是不变对象,所以与传值方式效果一样。4.2.2函数默认参数function函数名(形参:类型=默认值)4.2.3形式参数数组函数中默认自动生成的arguments对象中保存有所有定义中的形参参数AS2.0中的arguments数组形参对象,存放所有传入的不定个数的形参参数。而在AS3.0中,argument则被严格限定存放形参定义中所定义个数的形参。arguments对象有一个length属性和一个callee方法。function函数名(形参:数据类型,形参:数据类型){trace(arguments.length)arguments.callee//调用函数本体,一般用于创建递归}如果需要传入任意多个参数,则使用AS3.0中的rest关键字,即...特殊关键字...(rest)function函数名(...参数名){//参数名可随意定义trace(参数名.length)}最后要注意的,arguments与...rest关键字不能混用,使用了...rest则arguments则不能再使用┏━━━━━━━━━━━━━━━━━━━━┓┃第二部分:ActionScript.3面向对象编程┃┗━━━━━━━━━━━━━━━━━━━━┛================================================第5章类和对象━━从定义到原理================================================5.1基本类结构基本结构:HelloWorldpackage{publicclassHello{publicvarhelloString:String='World';publicfunctionHello(){}publicfunctionsayHello():void{trace(Hello);}}}ActionScript3中的类如果想被外部访问,必须放在package(包)中构造函数与类名相同,为与其它类内函数区分,一般首字母大写。5.2Class(类)和Object(对象)类是对象结构的描述。5.3Class的成员ActionScript3中的Class(类)的构成·Class的名称和包路径·构造函数·属性:包括实例属性和表态静态属性·方法:包括实例方法和静态方法AS3中对类的默认访问控制是internal(包内可见),而非AS2.0中的public5.4Class和object的创建和使用5.4.1创建Class参看5.1基本类结构5.4.2创建类的实例import包路径.类名///////////////////////////////////////////////////////////相同包下,不用import类名,可直接引用var对象=new类()var对象:类=new类()//推荐new关键字后跟的其实不是类名,而是类的构造函数5.5Class和package(包)package格式:package项目根.包路径比如:packagecom.kinda.book.display类名统一用大写字母开头,包路径统一用小写类体结构安排:package[包名]{import类包;publicclass类{//private静态属性//private静态方法//private实例属性//构造函数//实例方法//静属静方实属构函实方,声明类内数据的五个顺序publicfunction构造函数(){//函数代码}}}5.6实例属性和实例方法实例属性和实例方法类似于动态网页语言中的session,不同的类实例(对象)中的实例属性可以有不同值。5.6.1实例属性访问控制符var属性名:数据类型;访问控制符var属性名:数据类型=值;访问控制符可以是internalpublicprivateprotect或者自定义的namespace标识默认为internal-包内成员可以访问,包外不可访问5.6.2实例方法访问控制符function方法名(形参):返回值类型{//方法内容}5.6.3访问实例属性和实例方法使用new语法实例化对象后,对象.属性|方法名5.7静态属性和静态方法静态属性和静态方法类似于动态网页语言中的Application,不同的类实例(对象)间共享类中共同的属性和方法。声明静态属性:staticvar属性:数据类型;staticvar属性:数据类型=值;publicstaticvar属性:数据类型;publicstaticvar属性:数据类型=值;不加访问控制符时,默认同样是internal如果要声明静态常量,需要配合使用static和conststaticconst属性:数据类型=值;静态方法:同样是使用static关键字访问控制符staticfunction方法名(形参):返回值类型{//方法内容}5.7.3访问静态属性和静态方法类名.属性类名.方法例:Math.floorMath.PI为了避免与类内成员变量冲突,访问静态属性及方法时,即使在类体内访问也最好用类名.属性这样的格式来写5.7.4应用1:使用静态属性集中管理数据publicstaticconstPI:Number=3.141592653589793;比如事件定义,一般都是使用静态属性的,那我们使用中文来定义属性,就可以在代码中使用中文事件了比如:publicstaticconst播放:String=play;使用事件时就可以用对象.播放来实现代码的中文化了5.7.5应用2:使用静态属性部分实现Enumeration(枚举)[略]5.7.6应用3:实现工具类如:MathString等类5.8构造函数定义:构造函数用于创建对象时供系统自动调用的函数,实现数据的初始化操作格式:public类名(形参){//构造函数名与类名相同,首字母大写,以与其它函数等区分//形参中同样可以使用...rest运算符载入不同个数的参数,实现类似重载的功能}5.8.3构造函数的返回类型构造函数只能返回undefined值,所以return没意义。但return可以影响构造函数向下执行代码的顺序,遇到return时,其下的代码将终止执行。5.9Clas的种类:动态类和密封类密封类在运行时不能动态添加属性或方法。动态类在运行时可以动态添加属性或方法。默认声明的类为静态类,动态类在class关键字前有dynamic关键字注意:AS3.0中的for...in循环,foreach...in循环只能遍历动态类对象的动态属性5.10this关键字[略]5.11ActionScript3中的方法重载public类名(...rest){//根据传入的函数个数进行处理//不支持不同类型参数的区分作为重载的标准}5.12含有多个类的ActionScript3类文件的标准例子(1)每个AS3的Class都必须写个一个和类同句的.as文
本文标题:As3教程
链接地址:https://www.777doc.com/doc-2898641 .html