1.8節. 定義數組和對象
1.8.1. 問題
您需要定義數組對象或雜湊表 — 樣式對象來儲存值或其他對象.
1.8.2. 解決辦法
使用ActionScript文法之建構函式調用建立一個新的對象或數組,或在MXML中定義它們
1.8.3. 討論
數組和對象是最常見的儲存資料的兩種資料類型,可通過ActionScript或在MXML中定義。要想在MXML中定義資料,是使用<mx:Array>標籤包裹數組的所有資料項目:
<mx:Array>
<mx:String>Flex</mx:String>
<mx:String>Flash</mx:String>
<mx:String>Flash Media Server</mx:String>
<mx:String>Flash Lite</mx:String>
<mx:String>AIR</mx:String>
</mx:Array>
數組中的所有資料都是通過索引進行訪問。在MXML中還可以建立多維陣列,如:
<mx:Array>
<mx:Array>
<mx:String>Flex</mx:String>
<mx:String>Flash</mx:String>
<mx:Array>
</mx:Array>
如要在MXML中建立對象,可使用<mx:Object> 標籤並添加所有對象屬性及其值。例如:
<mx:Object id="person" firstName="John" lastName="Smith" age="50" socialSecurity="123-45-6789"/>
在MXML建立對象有個限制即不能建立多個嵌套的對象,而在script標籤中可建立包含多個複雜物件的對象,你可以先建立一個類型為Object的變數,再調用建構函式,最好添加屬性:
var object:Object = new Object();
var otherObject:Object = new Object();
object.other = otherObject;
你還可以通過大括弧來建立對象,例如:
Code View:
var person:Object = {name:"John Smith", age:22, position:{department:"Accounting",
salary:50000, title:"Junior Accountant"}, id:303};
注意Person對象的position屬性指向另一個包含不同屬性的對象,還發現這裡的position對象並不需要先申明。
如要在ActionScript中建立數組,先建立變數然後調用Array建構函式:
Code View:
var arr:Array = new Array("red", "blue", "white", "black", "green", "yellow");
你也可以不調用建構函式來建立資料,而是通過中括弧,如:
var noConstructorArray:Array = [2, 4, 6, 8, 10, 12, 14, 16];
這跟調用Array建構函式效果是一樣的。