溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ActionScript學(xué)習(xí)筆記

發(fā)布時間:2020-06-20 08:57:33 來源:網(wǎng)絡(luò) 閱讀:463 作者:umgsai 欄目:開發(fā)技術(shù)

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)值

 


向AI問一下細(xì)節(jié)

免責(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)容。

AI