ActionScript語言基礎

來源:互聯網
上載者:User

標籤:des   style   http   java   os   使用   io   strong   檔案   

注釋 支援行內注釋和多行注釋:
行內注釋
//這裡是行內注釋var i:int;var x:int; //這是也是行內注釋
多行注釋
/*  這是  一段  多行注釋*/
變數 ActionScript支援比JavaSctipt所支援的更新的ECMAScript標準實現版本。
變數名命名規則: 可以包含字母、數字、底線和貨幣符號,但不能以數字開頭, 區分大小寫。
VARIANT 資料型別的規則: 於JavaScript不同,ActionScript的變數要使用嚴格的資料類型,也就是說,要在變數後賦予該變數的值,必需是定義該變數時所聲明的類型,或者相容的類型。
var $number:Number;$number = "test" //語法錯誤,右值必需是一個數字,而不是字串
類型檢查
  • ActionScript同時支援靜態類型檢查和動態類型檢查。
  • 靜態類型檢查在編譯時間執行,由編譯器負責進行類型檢查,返回檢查結果給開發人員;
  • 動態類型檢查則是Flash Player在程式運行期間對變數類型的管理。
頂級類
  • 類是方法和屬性的集合,並且類被封裝在包中。
  • Flex3中有幾本資料類型的概念,它們在Flex4都被封裝成了類,放在頂層的包中,頂層包是預設可用的,所以仍然可以隨時使用它們。
                Array Boolean Class Date int Number Object String unit Vector XML XMList
  • 使用頂層類不需要事先使用import語句匯入包,即可直接建立類的執行個體:
var $string:String = new String("HELLO");//更簡潔的方式:var $str:String = "HELLO";var $xml:XML = <root><node></node></root>;var $array:Array = ["item1","item2","item3"];var $obj:Object = {x:1, y:2, z:3};
特殊資料類型 特殊資料類型就是保留字和保留值,使用它們來建立變數就會發生錯誤:
*, void, undefined, null, NaN(not a number)
迴圈 for迴圈:


for(var i = 0; i < 10; i++ ){trace(i);}



var myArray:Array = ["item1","item2", "item3"];//這種形式的迴圈適合操作XML或者XMList對象//這種形式的迴圈是按照屬性名稱迭代的,而數組的屬性名稱就是數組的索引//大多數情況下都要使用String類型的屬性名稱,針對數組的索引,直接使用int很可能會報錯,而使用String則Flash Player會自動轉換成數值for(var i:String in myArray) {//查看trace輸出需要下載Flash Player 的debug版本,並使用特定的瀏覽器(如IE進行調試)trace(myArray[i]);}


var myObj:Object = {firstName:"leo",lastName:"xu"};for(var i:String in myObj) {trace("Property:" + i + "=" + myObj[i]);}
//如果只想得到每項的值,使用for each ... in 更方便for each(var i:String in myObj) {trace(i);}
while和do..while迴圈: ...

if, else , else if判斷: ...

switch迴圈: ... 

數組 ActionScript支援三種類型的數組:
  1. 索引數組
  2. 關聯陣列
  3. 多維陣列
索引數組:
var $array1:Array = new Array();var $array2:Array = new Array(3);
操作
push() //添加到末尾unshift() //添加到開頭pop() //末尾刪除shift() //開頭刪除splice() //從某個位置刪除,然後插入新項$array.splice(1, 0, "leo xu");//在第二個位置添加一個$array.splice(1, 1);//刪除第二項$array.splice(3, 2, "leo", "xu", "hahaha");//從第四個位置開始刪除兩項,再添加三個新項var $array:Array = new ["leo", "xu", "hahaha"];//數組的簡便初始化
//下面是數組的遍曆for(var i:int = 0; i<array.length; i++ {//使用length屬性擷取數組的大小trace(array[i]);//把值輸出到日誌}
關聯陣列: 可以儲存索引值對的集合.
var $map:Array = new Array();$map["item1"] = "leo1";$map["item2"] = "leo2";$map["item3"] = "leo3";trace($map["item1"]);trace($map["item2"]);trace($map["item3"]);for(var key:String in $map) {trace("key:" + key + " ,value:" + $map[key]);}
//如果只想得到每項的值,使用for each ... in 迴圈for each (var i:String in $map) {trace("value:" + i);}
注意:關聯陣列中值得存放時無序的,所以上述迴圈無法預言其輸出順序。
//另外一種輸出索引值對的方式就是直接使用Object對象var $map:Object = new Object();var $map:Object = {item1:"leo", item2:"xu", item3:"hahaha"};


//關聯陣列還可以使用點標記法來訪問數組項:trace($map.item1);trace($map.item2);trace($map.item3);


注意:鍵名中存在空格的項不適合使用點標記法來訪問,會引發錯誤。

特殊文法
  • 花括弧標識代碼塊;
  • ++,--是遞增、遞減的最快方式;
  • 比較操作符;
  • 數學操作符,要注意加號還可以連接字串


函數和類 函數:     函數是封裝了邏輯的代碼塊,方便重用。
類     類是一個封裝了方法(函數)和屬性(變數)的獨立集合。
建立函數的要素:     範圍 function 函數名(參數列表):傳回值類型 {}
範圍:      public , private, protected
CDDATA: <![CDDATA[...]]>告訴編譯器方括弧中的內容不作為XML處理,應該始終把ActionScript代碼放到<![CDDATA[...]]>的方括弧中。
匯入包:
import mx.collections.ArrayCollection;//匯入ArrayCollection類import mx.collections.*;//匯入所有的類
注意:匯入內容只在執行了import語句的檔案內可見。
將ActionScript代碼放到獨立於MXML檔案的檔案中:
  • 可以將ActionScript代碼獨立放到.as尾碼的檔案中;
  • 然後再MXML檔案中,使用如下代碼引入該as檔案:
<fx:Script source="xxx.as"/>
資料繫結 ActionScript支援讓一個項目監聽另外一個的項目的值,這種功能叫做資料繫結。
綁定有助於減輕代碼量,並有效抽象出資訊的發行者和使用者,加強應用程式的擴充性。

  • 不使用綁定的:
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   xmlns:s="library://ns.adobe.com/flex/spark"   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"><s:layout><s:BasicLayout/></s:layout><fx:Declarations><!-- 將非可視元素(例如服務、值對象)放在此處 --></fx:Declarations><s:Group><s:layout><s:HorizontalLayout/></s:layout><s:TextInput id="text1"/><s:Button label="copy" click="text2.text = text1.text"/><s:TextInput id="text2"/></s:Group></s:Application>
  • 添加綁定:
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   xmlns:s="library://ns.adobe.com/flex/spark"   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"><s:layout><s:BasicLayout/></s:layout><fx:Declarations><!-- 將非可視元素(例如服務、值對象)放在此處 --></fx:Declarations><s:Group><s:layout><s:HorizontalLayout/></s:layout><s:TextInput id="text1"/><s:TextInput id="text2" text="{text1.text}"/></s:Group></s:Application>
  • 綁定標籤:
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   xmlns:s="library://ns.adobe.com/flex/spark"   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"><s:layout><s:BasicLayout/></s:layout><fx:Declarations><!-- 將非可視元素(例如服務、值對象)放在此處 --></fx:Declarations><fx:Binding source="text1.text"destination="text2.text"twoWay="true"/><s:Group><s:layout><s:HorizontalLayout/></s:layout><s:TextInput id="text1"/><s:TextInput id="text2"/></s:Group></s:Application>
使ActionSrcript變數可被綁定: 注意,可以再任何ActionScript變數上啟用綁定,只需要使用到元關鍵字 [Bindable].
MXML中的 元關鍵字用於描述變數,組件和類的額外屬性,另外還可以用來聲明自訂群組件所分發的自訂事件。
預設情況下,Flex中的東西並不都是可以被用來綁定的,可不可以被綁定,必需 顯示聲明
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   xmlns:s="library://ns.adobe.com/flex/spark"   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"><s:layout><s:BasicLayout/></s:layout><fx:Declarations><!-- 將非可視元素(例如服務、值對象)放在此處 --></fx:Declarations><fx:Script><![CDATA[[Bindable]public var s:String = "";]]></fx:Script><s:Group><s:layout><s:HorizontalLayout/></s:layout><s:TextInput id="text1"/><s:Button label="copy" click="s=text1.text"/><s:TextInput id="text2" text="{s}"/></s:Group></s:Application>




ActionScript語言基礎

聯繫我們

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