У вас нет эквивалента для list () в AS3.0, и реализовать его действительно сложно (почти невозможно).
Примитивные типы: Boolean, int, Number, String и uint не могутбыть (вручную) переданным по ссылке и измененным по этой ссылке.Это потому, что Flash хранит их как неизменяемые объекты внутри.Поэтому, когда он проходит по значению, он фактически проходит по ссылке, но данные не могут быть изменены (см. Ссылку 2).
Пример:
var obj:Object = {xy:21,yx:24};
var num:Number = 24;
public function Sample():void{
trace(obj.xy,obj.yx,obj.hey);
boom(obj);
trace(obj.xy,obj.yx,obj.hey);
heya(obj);
trace(obj.xy,obj.yx,obj.hey);
nullify(obj)
trace(obj.xy,obj.yx,obj.hey);
trace("Testing number");
trace(num);
numer(num);
trace(num);
}
function boom(obj1:Object){
var i:uint=0;
obj1.xy=34;
obj1.yx=34;
}
function heya(obj2:Object){
obj2.hey = "hehe";
}
function nullify(obj3:Object){
obj3=null;
}
function numer(xz:Number){
xz=45;
}
при запуске функции Sample () мы получаемследующий вывод:
21 24 undefined
34 34 undefined
34 34 hehe
34 34 hehe
Testing number
24
24
Таким образом, мы можем заключить, что мы можем изменить свойства объекта (добавить их или изменить их), но мы не можем изменить сам объект.Также мы не можем изменить значение переменной примитивного типа.
Параметры функции: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f56.html
Типы данных: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9c.html