Flex4 На объект ссылаются по значению или по ссылке? - PullRequest
1 голос
/ 07 апреля 2011

В ActionScript 3 я читал, что все, что не является примитивом, является ссылкой, а на примитивы ссылаются по значению.Я полагаю, что объект является примитивным, на него ссылаются по значению?

Например, если я создам

//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 Ответ

1 голос
/ 07 апреля 2011

«Примитив» в основном означает целые числа или строки. Я не помню по макушке, являются ли они обоими или только целыми числами, но все остальное по ссылке.

Простой тестовый код, который вы можете попробовать запустить:

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.

...