您好,登錄后才能下訂單哦!
ActionScript學(xué)習(xí)筆記
ActionScript中預(yù)定義的數(shù)據(jù)類型:Boolean、int、Number、String、uint
其中,int、Number、uint是處理數(shù)字的。int用來處理整數(shù),Number用來處理很長又有小數(shù)點的數(shù)字,uint處理很大的正整數(shù)。
復(fù)雜數(shù)據(jù)類型:Array、Date、Error、Function、RegExp、XML、XMLList
自定義類屬于復(fù)雜數(shù)據(jù)類型。
public class AS_001 extends Sprite { public function AS_001() { var v1:int= 9; trace(v1); var v2:uint =10;//無符號數(shù) var v3:Boolean = true; var v4:Number = 4.5; var v5:String = "Helloworld"; var v6:String = 'Hello world!!!'; var v7:* =3;//任意數(shù)據(jù)類型 trace(v7); v7 = "你好"; trace(v7); var v8; trace(v8);//undefined var v9:String; trace(v9);//null var v10:Array = [2, 3, 4, 5];//數(shù)組 trace(v10); var v11:Object = {id:3, username:"admin", password:"admin"}; trace(v11.username); } }
輸出結(jié)果
9
3
你好
undefined
null
2,3,4,5
admin
public function my_function(){ var v1:Array = ["a", "b", "c", "d", "e"]; for(var i:String in v1){ trace(i); trace(v1[i]); } for each(var propertyValue:String in v1){ trace(propertyValue); } var v2:Object = {id:1, name:"admin", age:22}; for(var i in v2){ trace(i); trace(v2[i]); } for each(var propertyValue:String in v2){ trace(propertyValue); } trace(v2["name"]); } public function my_function1(){ var traceParameter:Function = function (aparam:String): void{ trace(aparam); }; traceParameter("hello"); var traceArray:Array = new Array(); traceArray[0] = function(aParam:String):void{ trace(aParam); }; traceArray[0]("Hello"); f("admin"); f1("admin1","admin2"); } public function f(name:String = "zhangsan"):void{ trace(name);//zhangsan是默認(rèn)參數(shù) } public function f1(...args):void{ trace(args.length);//可變參數(shù) }
ActionScript面向?qū)ο?/span>
新建ActionScript類Student.as
package com.umgsai.as3 { public class Student { private var _name:String = "zhangsan"; public function Student() { } public function set name(name:String):void{//set方法 this._name= name; } public function get name():String{//get方法 return this._name; } } }
使用
var s:Student = new Student(); trace(s.name);//相當(dāng)于調(diào)用 function get name(),輸出zhangsan s.name = "admin";//相當(dāng)于調(diào)用 function set name() trace(s.name);//輸出admin
ActionScript動態(tài)類
新建Teacher類
package com.umgsai.as3 { public dynamic classTeacher { public function Teacher() { } } }
使用
var t:Teacher = new Teacher();//Teacher類是動態(tài)類 t.f = function(){//動態(tài)添加f函數(shù) trace("f"); } t.f(); delete t.f;//刪除f函數(shù) // t.f();//此句會報錯
ActionScript接口使用
IFlyable.as
package com.umgsai.as3 { public interface IFlyable//接口一般以I開頭 { function fly():void;//不寫public之類的修飾符 } }
實現(xiàn)接口
package com.umgsai.as3 { public class T implements IFlyable { public function T() { } public function fly():void//實現(xiàn)接口方法 { trace("fly"); } } }
使用
var tt:IFlyable = new T(); tt.fly();
ActionScript異常處理
try { throw new EOFError("error occurs"); } catch(error:Error) { trace(error); }finally{ trace("finnaly"); }
值類型int例子
var a:int= 3; var b:int= a; b = 9; trace ("a=" + a); trace ("b=" + b);
執(zhí)行結(jié)果:
a=3
b=9
引用類型例子。(類似C語言中的指針)
vara:Array = new Array(1,2,3); varb:Array = a; b[0] = 4; trace("a:" + a); trace("b:" + b);
執(zhí)行結(jié)果:
a:4,2,3
b:4,2,3
使用const聲明常量
const foo:int = 100;//不可以改變foo的值
typeof、is、as
trace(typeof 10);//Number trace(9 is Number);//true//as與is格式一致,內(nèi)容不同。如果一個對象屬于一種類型,那么as返回這個對象,否則返回null trace(9 asNumber);//輸出9 trace(9 as Array);//輸出null
in關(guān)鍵字
var a:Array = ["a","b","c"]; trace(2 in a);//true,數(shù)組a含有索引2 trace(3 in a);//false,數(shù)組a沒有索引為3的元素 var b:Object = {ary:a, name:"OK"}; trace("ary"in b);//true,b中有ary屬性 trace("name"in b);//true,b中有name屬性 var c:Dictionary = newDictionary(); c[a] = "avalue"; c[b] = "bvalue"; trace(a in c);//true trace(b in c);//true
兩種函數(shù)定義方法
private function fname():void {//函數(shù)語句定義法,推薦使用這種寫法 trace("Hello"); } var testAdd:Function = function (a:int, b:int):int{ //函數(shù)表達(dá)式定義法 return a+b; }
設(shè)置默認(rèn)參數(shù)
public function test(a:int = 3, b:int = 2, c:int = 1):void { trace(a+b+c,a, b, c); trace("參數(shù)長度:" +arguments.length); } test();//6 3 2 1 全部使用默認(rèn)值 test(9);//12 9 2 1 使用后兩個參數(shù)的默認(rèn)值 test(2, 9);//12 2 9 1 使用最后一個參數(shù)的默認(rèn)值 test(1, 2, 3);//6 1 2 3 木有使用默認(rèn)值
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。