ActionScript学习笔记

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

你可能感兴趣的:(actionscript)