【學習筆記】AS3快速上手筆記

來源:互聯網
上載者:User

作者:fbysss
msn:jameslastchina@hotmail.com  
blog:blog.csdn.net/fbysss
聲明:本文由fbysss原創,轉載請註明出處

關鍵字:AS3,ActionScript

引言:

如果有java、javascript基礎,AS文法很好理解,有一個上午足夠。看了本文,基本可編寫代碼調試。

1.       開發工具

FlashBuilder。建立一個【ActionScript】項目,會自動產生一個as檔案,可以直接在裡面寫代碼測試。

從結構上看,這個檔案是一個類,與java文法類似。

 

2.       AS文法

var 關鍵字定義,trace輸出

變數定義:

var i :int = 100;

trace(“i=”+i);

數組

var myArray:Array=(1,2,3);

trace(“myArray[0] is :”+myArray[0]);

對象:

var person:Object =- {name:”fbysss”,title:”manager”,gender:”male”};

trace(“person.name:”+person.name);

 

加入方法

var person:Object =-

{name:”fbysss”,title:”manager”,gender:”male”,

sayHello:function():void{

         trace(“hello,I am ”+person.name);//也可以使用 trace(“hello ,I am ”+person[“name”])

}

salary:function(){

         return1000000)(;

}

};

 

person.sayHello();

trace(person.salary());

 

 

動態添加類屬性和方法

var person:Object={};

person.name=”fbysss”;

person.title=”manager”;

person.sayHello = function :void{

         trace(“hello, I am ”+person.name);

}

 

各種類型預設值

如果沒有初始化,

int,unit :0

Number: NaN

String、Object:null

Boolean:false

沒有類型的定義如var i;或者var i:*;  :undefined

 

in關鍵字

var sssArray:Array={1,2,3};

trace(“2 in sssArray:”+(2 in sssArray)); //true

trace(“2 in sssArray:”+(“2” in sssArray));//true

 

Function類型

函數運算式:

var sayHello: Function = function():void{

         trace(“helloworld”);

}

sayHello();

 

顯然,sayHello必須在定義語句之後才能調用。

正常的函數定義,與javascript一致

 

訪問參數資訊

與javascript類似。為arguments對象

arguments.length 參數個數

arguments.callee 調用者

 

 

物件導向

這部分與java很像,不用多說

package 不是分號,而是花括弧。

 

事件機制

事件與方法的區別:

事件是偵聽,滿足一定條件才被觸發的;被動調用

方法隨時可能被調用;主動調用

事件的調用者與被調用者,可能不是一個進程,低耦合。

而方法調用則必須是一個進程之中,耦合性強。

3.       調試方法

F11

沒有main方法,可通過建構函式調試

 

4.       注意點

Number(“hello”) 輸出是 NaN

但Number(“hello”)==NaN永遠是false

如果要判斷,應該使用 if (Number(“hello”))的形式,類似javascript

 

 

switch 語句與javascript一樣,支援string類型。注意break。

 

 

Q:動態參數 ...rest?有什麼用?——這裡有一個疑問,因為as3和javascript一樣,直接就支援不定數量的參數,要這個何用?

A:在物件導向的AS3類裡面,可以理解為靜態語言,必須採用這樣的方式,才能支援動態參數(類似Java的動態參數做法)。

 

如果是動態定義的函數變數,不需要。

 

例:

 

public class Test(){

         publicfunction dynamicParam(){

                   for(vari =0 ; i< params.length ; i++){

                            trace(params[i]);

}

}

 

         publicfunction Test(){

                   dynamicParam(1,2,3);

         }

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.