
17.10.2007, 08:36
|
|
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
Сообщение от terbooter
Что-то я не до конца понимаю...
По-моему первой функции вообще ничего не передается
 Код:
root_a = 1; // вот это вот что такое?
function test (a:Number) {
a = 2;
trace(a) //выводит 2
}
test (a);
trace (a)//выводит undefined -- не удивительно
разве первая функция не эквивалентна такой:
 Код:
function test()
{
var a:Number = 2;
}
В первой функции a -- параметр, в этой локальная переменная.
* * *
C функцией test2 тоже непонятности... а если подправить вот так
 Код:
b = {a:1};
function test2 (bbb:Object) {
b.a = 2;
}
test2 (b);
trace (b.a); // сменилось на 2
то становится ясно что функции без разницы передаем мы ей
ссылку или объект (объекты не передаются, передается ссылка на объект), она обращается напрямую к объекту b лежащему
на руте -- это и было показано
|
Цитата:
|
Сообщение от iNils
Все простые типы всегда передают только свое значение, а сложные ссылку.
|
.....
|