вопрос массива действий - PullRequest
1 голос
/ 07 июня 2010
var array1:Array = new Array();
var array2:Array = new Array();

var obj1:Object = new Object();

array1.push(obj1);
array2.push(obj1);


if i change something in obj1 will array1[0] and array2[0] also change?

Ответы [ 3 ]

0 голосов
/ 07 июня 2010

да. это изменится.

0 голосов
/ 07 июня 2010

У вас есть два списка, оба хранят имена учеников в классе - скажем, один в алфавитном порядке, а другой в порядке их возраста. Если учащийся сдает один экзамен, снимает ли соответствующий студент в обоих списках экзамен или только один из них?

Оба относятся к одному и тому же ученику - одному и тому же ученику Object.

Теперь скажите, что вы записали отметку студента из его листа ответов в какую-то статью. Если ученик стирает и обновляет значение на этой бумаге, его реальная оценка изменяется? Нет, потому что это было просто скопированное значение знака. Это аналогично копированию student.mark в числовую переменную и ее изменению.

0 голосов
/ 07 июня 2010

Да. В ActionScript 3.0 все аргументы передаются по ссылке. Поэтому вы передаете ссылку на obj1 на оба массива. Изменение значения в объекте будет отражено в массивах array1 и array2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...