Простые типы передаются по значению, сложные по ссылке. Проверить просто:

Код AS3:
function test(var1:int, var2:Number, var3:String, var4:Point) {
var1 += 10;
var2 += 10.0;
var3 += "10";
var4.x += 10;
}
var var1:int = 10, var2:Number = 10, var3:String = "10", var4:Point = new Point(10);
test(var1, var2, var3, var4);
trace(var1, var2, var3, var4); // 10, 10, 10, [Point X:20 Y:0]