2011-12-03 104 views
5

而如下聲明一個變量應該用什麼:對象和*之間的區別?

private var someVar:*; 

OR

private var someVar:Object; 

兩者有什麼區別? 在各種情況下,優於其他人的是什麼?任何例子?

謝謝。

回答

10

someVar:*是一種特殊類型化的變種,其保持默認值undefined

Object變種默認值是null

這是唯一的關鍵區別。

9

Adobe Documentation,

private var someVar:*; 
private var someVar:Object; 

在ActionScript中,一個變量的先前版本沒有 類型註釋被自動分配對象的數據類型。在ActionScript 3.0中,這不再是 ,它現在包含了真正的非類型化變量的構想 。現在沒有類型註釋的變量 被視爲無類型。如果您想讓 代碼的讀者清楚您的意圖是將變量保留爲無類型,則可以使用 新類型註釋的星號(*)符號,即相當於省略類型註釋的 。以下示例顯示了 兩個等效語句,兩者都聲明一個無類型變量 X:

相關問題