2011年6月9日 星期四

AS3中Object的資料類型

Object 資料類型

摘自上述 Adobe HELP 網址(學習 ActionScript 3.0 > ActionScript 語言和語法 > 資料類型 > Object 資料類型)
ActionScript 3.0 版 Object 資料類型的不同之處包含以下三方面:
第一,Object 資料類型不再是指定給沒有類型註釋之變數的預設資料類型;
第二,Object 資料類型不再包含 undefined 值,過去這是 Object 實體的預設值;
第三,在 ActionScript 3.0 中,Object 類別之實體的預設值是 null。

在舊版 ActionScript 中,沒有類型註釋的變數會自動指定為 Object 資料類型;而在 ActionScript 3.0 中已非如此,現在 ActionScript 3.0 包含真正不具類型變數的概念。沒有類型註釋的變數現在會視為不具類型。若要讓程式碼的讀者清清楚楚地知道,您是刻意要讓變數保持為不具類型,則可以使用類型註釋的星號 (*) 符號,這個符號等於省略類型註釋。

只有不具類型的變數可以存放 undefined 值。若嘗試將 undefined 值指定給具有資料類型的變數,執行階段會將 undefined 值轉換為該資料類型的預設值。例如 Object 資料類型 (預設值為 null),表示如果您嘗試將 undefined 指派為 Object 實體,則值會轉換成 null。

*******************************************************************************

以下簡例 :

var obj1:Object;
trace(obj1);//null

var obj2:Object = undefined;
trace(obj2);//null

var any1:*;
trace(any1);//undefined

var any2;
trace(any2);//undefined

沒有留言: