對於基本數據類型的內容的Array元素,可以通過索引直接訪問。ActionScript 3.0提供了對於存儲複雜數據類型Array實例內容的訪問。在Array實例中,最經常使用的複雜數據類型,就是普通的Object類的實例。這樣的Object實際上是被定義成爲一個特殊的Array進行訪問的。構建這樣的Object實例方法非常簡單,代碼如下所示。
var flexObject:Object={company:”Adobe”,productName:”Flex”};
使用這樣的Object實例不需要通過new關鍵字進行初始化。訪問這樣的對象也很容易。通過屬性的名稱就可以訪問得到,如下代碼所示。
var flexObject:Object={company:”Adobe”,productName:”Flex”};
flexObject.company=”Macromedia”;
flexObject[company]=”Adobe”;
trace(flexObject[company]); //輸出“Adobe”
注意:訪問這種簡單對象,可以使用兩種方式“.”操作符和“[]”操作符。在使用“[]”操作符時,屬性的名字中允許出現空格。而通過“.”操作符進行操作的時候,不允許屬性名字中出現空格。
同樣可以通過構建Array對象構建這樣的實例。如下代碼所示。
var flexObject:Array=new Array();
flexObject.company=”Macromedia”;
flexObject[productName]=”Flex”;
trace(flexObject[company]+”,”+ flexObject[productName]); //輸出“Adobe,Flex”
對於Array類本身存儲內容可以是對象。由於Array類的實例也是一個對象,所以Array類可以存儲自身的實例,形成2維Array。具體代碼如下所示。
var flexArray:Array=new Array();
flexArray[0]=[“AdobeReader”,”Adobe PhotoShop”,”Adobe AfterEffect”];
flexArray[1]=[“Flash”,”Firefox”,”Flex”];
trace(flexArray[0][0]); //輸出“Adobe Reader”
trace(flexArray[1][2]); //輸出“Flex”
同樣可以使用Object實例的方式進行2維Array的構建和訪問。如下代碼所示。
var flexArray:Array=new Array();
flexArray[“Adobe”]=[“AdobeReader”,”Adobe PhotoShop”,”Adobe AfterEffect”];
flexArray[“Macromedia”]=[“Flash”,”Firefox”,”Flex”];
trace(flexArray.Adobe[1]); //輸出“Adobe PhotoShop”
trace(flexArray.Macromdia[0]); //輸出“Flash”
通過上面代碼顯示的方式,可以通過“.”操作符進行訪問2維Array。