
Код AS3:
var o:Object = {b:1};
o.a = function(){this.b++;return 2;};
trace(calc(o.b,o.a()));
}
private function calc(x:int , y:int):int
{
trace(x,y);
return x + y;
}
Выведет : 1 ,2 ,3

Код AS3:
var o:Object = {b:1};
o.a = function(){this.b++;return 2;};
o.a();
trace(calc(o.b,o.a()));
}
private function calc(x:int , y:int):int
{
trace(x,y);
return x + y;
}
Выведет : 2 ,2 ,4
Видимо ,сначала в функцию передаются аргументы, а потом начинается обработка этих аргументов