ActionScript学习笔记
ActionScript中预定义的数据类型:Boolean、int、Number、String、uint
其中,int、Number、uint是处理数字的。int用来处理整数,Number用来处理很长又有小数点的数字,uint处理很大的正整数。
复杂数据类型:Array、Date、Error、Function、RegExp、XML、XMLList
自定义类属于复杂数据类型。
publicclassAS_001extendsSprite { publicfunctionAS_001() { varv1:int=9; trace(v1); varv2:uint=10;//无符号数 varv3:Boolean=true; varv4:Number=4.5; varv5:String="Helloworld"; varv6:String='Helloworld!!!'; varv7:*=3;//任意数据类型 trace(v7); v7="你好"; trace(v7); varv8; trace(v8);//undefined varv9:String; trace(v9);//null varv10:Array=[2,3,4,5];//数组 trace(v10); varv11:Object={id:3,username:"admin",password:"admin"}; trace(v11.username); } }
输出结果
9
3
你好
undefined
null
2,3,4,5
admin
publicfunctionmy_function(){ varv1:Array=["a","b","c","d","e"]; for(vari:Stringinv1){ trace(i); trace(v1[i]); } foreach(varpropertyValue:Stringinv1){ trace(propertyValue); } varv2:Object={id:1,name:"admin",age:22}; for(variinv2){ trace(i); trace(v2[i]); } foreach(varpropertyValue:Stringinv2){ trace(propertyValue); } trace(v2["name"]); } publicfunctionmy_function1(){ vartraceParameter:Function=function(aparam:String):void{ trace(aparam); }; traceParameter("hello"); vartraceArray:Array=newArray(); traceArray[0]=function(aParam:String):void{ trace(aParam); }; traceArray[0]("Hello"); f("admin"); f1("admin1","admin2"); } publicfunctionf(name:String="zhangsan"):void{ trace(name);//zhangsan是默认参数 } publicfunctionf1(...args):void{ trace(args.length);//可变参数 }
ActionScript面向对象
新建ActionScript类Student.as
packagecom.umgsai.as3 { publicclassStudent { privatevar_name:String="zhangsan"; publicfunctionStudent() { } publicfunctionsetname(name:String):void{//set方法 this._name=name; } publicfunctiongetname():String{//get方法 returnthis._name; } } }
使用
vars:Student=newStudent(); trace(s.name);//相当于调用functiongetname(),输出zhangsan s.name="admin";//相当于调用functionsetname() trace(s.name);//输出admin
ActionScript动态类
新建Teacher类
packagecom.umgsai.as3 { publicdynamicclassTeacher { publicfunctionTeacher() { } } }
使用
vart:Teacher=newTeacher();//Teacher类是动态类 t.f=function(){//动态添加f函数 trace("f"); } t.f(); deletet.f;//删除f函数 //t.f();//此句会报错
ActionScript接口使用
IFlyable.as
packagecom.umgsai.as3 { publicinterfaceIFlyable//接口一般以I开头 { functionfly():void;//不写public之类的修饰符 } }
实现接口
packagecom.umgsai.as3 { publicclassTimplementsIFlyable { publicfunctionT() { } publicfunctionfly():void//实现接口方法 { trace("fly"); } } }
使用
vartt:IFlyable=newT(); tt.fly();
ActionScript异常处理
try { thrownewEOFError("erroroccurs"); } catch(error:Error) { trace(error); }finally{ trace("finnaly"); }
值类型int例子
vara:int=3; varb:int=a; b=9; trace("a="+a); trace("b="+b);
执行结果:
a=3
b=9
引用类型例子。(类似C语言中的指针)
vara:Array=newArray(1,2,3); varb:Array=a; b[0]=4; trace("a:"+a); trace("b:"+b);
执行结果:
a:4,2,3
b:4,2,3
使用const声明常量
constfoo:int=100;//不可以改变foo的值
typeof、is、as
trace(typeof10);//Number trace(9isNumber);//true//as与is格式一致,内容不同。如果一个对象属于一种类型,那么as返回这个对象,否则返回null trace(9asNumber);//输出9 trace(9asArray);//输出null
in关键字
vara:Array=["a","b","c"]; trace(2ina);//true,数组a含有索引2 trace(3ina);//false,数组a没有索引为3的元素 varb:Object={ary:a,name:"OK"}; trace("ary"inb);//true,b中有ary属性 trace("name"inb);//true,b中有name属性 varc:Dictionary=newDictionary(); c[a]="avalue"; c[b]="bvalue"; trace(ainc);//true trace(binc);//true
两种函数定义方法
privatefunctionfname():void {//函数语句定义法,推荐使用这种写法 trace("Hello"); } vartestAdd:Function=function(a:int,b:int):int{ //函数表达式定义法 returna+b; }
设置默认参数
publicfunctiontest(a:int=3,b:int=2,c:int=1):void { trace(a+b+c,a,b,c); trace("参数长度:"+arguments.length); } test();//6321全部使用默认值 test(9);//12921使用后两个参数的默认值 test(2,9);//12291使用最后一个参数的默认值 test(1,2,3);//6123木有使用默认值
本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1531596