物件必須存在,才能在 ActionScript 中使用該物件。建立物件需要先宣告變數,但宣告變數只會在電腦記憶體中建立一個空位置。您必須將實際值指派給變數 (建立物件並將物件儲存在變數中),才能使用或操作變數。建立物件的程序稱為「實體化」物件。換言之,就是建立特定類別的實體。
若要建立物件實體,有一個簡單的方法完全不需要使用 ActionScript。在 Flash Professional 中,將影片片段元件、按鈕元件或文字欄位放在「舞台」上,然後指定其實體名稱。Flash Professional 就會自動宣告同名變數、建立物件實體,然後將該物件儲存在變數中。同樣地,在 Flex 中,當您編寫 MXML 標籤或將組件放在 Flash Builder 「設計」模式的編輯器時,會在 MXML 中建立組件。為該組件指定 ID,該 ID 就會成為內含該組件實體的 ActionScript 變數的名稱。
不過,您不一定都會建立視學上的物件,對於非視覺性的物件就不可能這麼做。您還可以使用其他方法,只需使用 ActionScript 便可以建立物件實體。
針對幾種 ActionScript 資料類型,您可以使用「常值運算式」(即直接寫入 ActionScript 程式碼的值) 建立實體。下面是一些範例:
常值數值 (直接輸入數字):
var someNumber:Number = 17.239;
var someNegativeInteger:int = -53;
var someUint:uint = 22;
常值 String 值 (用雙引號括住文字):
var firstName:String = "George";
var soliloquy:String = "To be or not to be, that is the question...";
常值 Boolean 值 (使用常值 true 或 false):
var niceWeather:Boolean = true;
var playingOutside:Boolean = false;
常值 Array 值 (以方括號括住以逗號分隔的值清單):
var seasons:Array = ["spring", "summer", "autumn", "winter"];
常值 XML 值 (直接輸入 XML):
var employee:XML = <employee>
<firstName>Harold</firstName>
<lastName>Webster</lastName>
</employee>;
ActionScript 也可針對 Array、RegExp、Object 和 Function 資料類型定義常值運算式。
為任何資料類型建立實體,最常用的方法就是使用 new 運算子加上類別名稱,如下所示:
var raceCar:MovieClip = new MovieClip();
var birthday:Date = new Date(2006, 7, 9);
使用 new 運算子建立物件通常描述為「呼叫類別的建構函式」。「建構函式」是特殊的方法,會在建立類別的實體時呼叫。請注意,當您使用這種方法建立實體的時候,要在類別名稱後面加上圓括弧。有時候您會在圓括弧中指定參數值。建立方法時,也會執行以下兩件事。
即使是使用常值運算式建立實體的資料類型,您也可以使用 new 運算子建立物件實體。例如,下面兩行程式碼的作用相同:
var someNumber:Number = 6.33;
var someNumber:Number = new Number(6.33);
請務必熟悉使用 new ClassName() 來建立物件的方式。很多 ActionScript 資料類型不會有視覺呈現。因此,利用在 Flash Professional 「舞台」或 Flash Builder 的 MXML 編輯器「設計」模式中放上項目,並無法建立它們。您只能使用 new 運算子,在 ActionScript 建立這些資料類型的實體。
Adobe Flash Professional
在 Flash Professional 中,如果是在「元件庫」中定義但未放在「舞台」上的影片片段元件,也可以使用 new 運算子建立其實體。