星期一, 1月 25, 2010

AS3中的object與array



先看看object:

var myAssocArray:Object = {fname:"John", lname:"Public"};
trace(myAssocArray.fname); // John
trace(myAssocArray["lname"]); // Public
myAssocArray.initial = "Q";
trace(myAssocArray.initial); // Q
ActionScript 3.0 語言和組件參考 - Object


以下是ADOBE網頁的說明
您可以使用 Object 類別來建立「關聯陣列」。關聯陣列的核心是 Object 類別的實體,而每個索引鍵值配對都有一個屬性和值做為代表。 使用 Object 資料類型宣告關聯陣列的另一個理由為,這樣一來就可以使用物件常值來填入您的關聯陣列 (但是僅限於宣告當時)。

由此可知:
object可以用'[]'和'.'取值


接下來看看array

var a:Array = new Array();
var b:Sprite = new Sprite();
var c:Sprite = new MovieClip();
b.name = "myName";
c.name = "myName2";
a[b.name]=b;
a.myName2=c;
a.push("cool");
trace("a[0]=",a[0]);
trace("a.length=",a.length);
trace("for in loop");
trace(a.myName,a[c.name]);
for (var i:* in a) {
trace(i,"=",a[i]);
}
SILK ROUTE - AS3筆記-Array的異次元空間


array[數字] -> 會進到 array 裡面,並且會count length
array[字串] -> array.字串 -> 會變成 array 的 property, 像是object 一樣 (public dynamic class Array extends Object), 這樣做並不會 count length


由此可知:
array只能用'[]'取值

沒有留言:

張貼留言