ActionScript學習筆記

來源:互聯網
上載者:User

標籤:world   error   小數點   正整數   

ActionScript學習筆記

ActionScript中預定義的資料類型:Boolean、int、Number、String、uint

其中,int、Number、uint是處理數位。int用來處理整數,Number用來處理很長又有小數點的數字,uint處理很大的正整數。

複雜資料類型:Array、Date、Error、Function、RegExp、XML、XMLList

自訂類屬於複雜資料類型。

publicclass AS_001 extends Sprite{      publicfunction AS_001()      {           var v1:int= 9;           trace(v1);           var v2:uint =10;//無符號數           var v3:Boolean = true;           var v4:Number = 4.5;           var v5:String = "Helloworld";           var v6:String = ‘Hello world!!!‘;           var v7:* =3;//任意資料類型           trace(v7);           v7 = "你好";           trace(v7);           var v8;           trace(v8);//undefined           var v9:String;           trace(v9);//null           var v10:Array = [2, 3, 4, 5];//數組           trace(v10);           var v11:Object = {id:3, username:"admin", password:"admin"};           trace(v11.username);      }}

輸出結果

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是預設參數} public function f1(...args):void{      trace(args.length);//可變參數}

ActionScript物件導向

建立ActionScript類Student.as

package com.umgsai.as3{      public classStudent      {           private var_name:String = "zhangsan";           public function Student()           {                           }                     public functionset name(name:String):void{//set方法                 this._name= name;           }           public functionget name():String{//get方法                 return this._name;           }      }}

使用

var s:Student = new Student();trace(s.name);//相當於調用 function get name(),輸出zhangsans.name = "admin";//相當於調用 function set name()trace(s.name);//輸出admin

ActionScript動態類

建立Teacher類

package com.umgsai.as3{      public dynamic classTeacher      {           public function Teacher()           {           }      }}

使用

var t:Teacher = new Teacher();//Teacher類是動態類t.f = function(){//動態添加f函數      trace("f");}t.f();delete t.f;//刪除f函數//         t.f();//此句會報錯

ActionScript介面使用

IFlyable.as

package com.umgsai.as3{      public interface IFlyable//介面一般以I開頭      {           function fly():void;//不寫public之類的修飾符      }}

實現介面

package com.umgsai.as3{      public class T implements IFlyable      {           public function T()           {           }                     public function fly():void//實現介面方法           {                 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);

執行結果:

a=3

b=9

參考型別例子。(類似C語言中的指標)

      vara:Array = new Array(1,2,3);      varb:Array = a;      b[0] = 4;      trace("a:" + a);      trace("b:" + b);

執行結果:

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格式一致,內容不同。如果一個對象屬於一種類型,那麼as返回這個對象,否則返回null      trace(9 asNumber);//輸出9      trace(9 as Array);//輸出null

in關鍵字

      var a:Array = ["a","b","c"];      trace(2 in a);//true,數組a含有索引2      trace(3 in a);//false,數組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

兩種函數定義方法

      private function fname():void      {//函數語句定義法,推薦使用這種寫法           trace("Hello");      }           var testAdd:Function = function (a:int, b:int):int{           //函數運算式定義法           return a+b;      }

設定預設參數

      public function test(a:int = 3, b:int = 2, c:int = 1):void      {           trace(a+b+c,a, b, c);            trace("參數長度:" +arguments.length);           }      test();//6 3 2 1 全部使用預設值      test(9);//12 9 2 1 使用後兩個參數的預設值      test(2, 9);//12 2 9 1 使用最後一個參數的預設值      test(1, 2, 3);//6 1 2 3 木有使用預設值

 


本文出自 “阿凡達” 部落格,請務必保留此出處http://shamrock.blog.51cto.com/2079212/1531596

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.