2011-04-07 71 views
1

在Actionscript 3中,我讀過任何不是主要的東西都是通過引用的方式,而主要的東西是通過值來引用的。我相信一個對象是一個首要的東西,它是否被價值引用?Flex4是通過值還是引用引用的對象?

舉例來說,如果我創建

//Symbol class (not a primative) 
var symbol:Symbol = new Symbol(); 
symbol.color = 0xFFFFFF; 

var obj:Object = new Object(); 
obj.symbol = symbol 

symbol.color = 0x000000; //change the original symbol color 

trace(obj.symbol.color.toString()) //display color of symbol in obj 

將這項收益0XFFFFFF或0x000000處?

回答

1

「原始」基本上是指整數或字符串。如果它們都是整數或者只是整數,我不記得我的頭腦,但是其他所有內容都是參考。

簡單測試代碼可以嘗試運行:

var spr:Sprite = new Sprite(); 
var obj:Object = {spr:spr}; 
var other:Object = {obj:obj}; 
spr.x = 100; 
trace(other.obj.spr.x); 

即跡線100,而不是0。

+1

>原始值是屬於以下數據類型中的一個的值:布爾,INT,數字,字符串和uint。 – Kodiak 2011-04-07 16:35:16

+0

正是我在尋找的感謝!現在我必須弄清楚我的課程參考在哪裏:P – loogie 2011-04-07 16:37:13