Ничего делать не нужно, так оно работает изначально.
В виртуальной машине флэш-плеера только примитивные типы данных (Boolean, Number, String) передаются по значению. Все остальные -- по ссылке. И из функции их можно изменять.
Это не зависит от того, как и на чем написан код, на haXe или на AS1-3
Все именно так как было описано. Но это поднимает следующий вопрос:
каким образом возвращать из метода более 1-го значения в ситуации когда параметры являются "примитивными"?
public function someFunc(somePar1:String,somePar2:String):String{
var someVar:String=somePar1:+somePar2;
somePar1='aaaaa';
return someVar;
}
При вызове вОт Этого, вернется лишь значение someVar. Но как же добраться до somePar1, который претерпел некоторые изменения?
В РНР4 объекты передавались по значению (клонировались), и нужно было помечать параметр амперсантом, чтобы указать, что его нужно передавать по ссылке. В РНР5 объекты передаются по ссылке (вроде бы, точно не знаю, забросил РНР когда еще 5й версии не было и не работал с ней).
В JavaScript объекты передаются по ссылке, как и в ActionScript.
Так оно и работает изначально
Ничего делать не нужно, так оно работает изначально.
В виртуальной машине флэш-плеера только примитивные типы данных (Boolean, Number, String) передаются по значению. Все остальные -- по ссылке. И из функции их можно изменять.
Это не зависит от того, как и на чем написан код, на haXe или на AS1-3
РЕ
Все именно так как было описано. Но это поднимает следующий вопрос:
каким образом возвращать из метода более 1-го значения в ситуации когда параметры являются "примитивными"?
public function someFunc(somePar1:String,somePar2:String):String{
var someVar:String=somePar1:+somePar2;
somePar1='aaaaa';
return someVar;
}
При вызове вОт Этого, вернется лишь значение someVar. Но как же добраться до somePar1, который претерпел некоторые изменения?
Спасибо. Сейчас
Спасибо. Сейчас проверю. А как с этим обстоят дела в php/javascript ?
В РНР4 объекты
В РНР4 объекты передавались по значению (клонировались), и нужно было помечать параметр амперсантом, чтобы указать, что его нужно передавать по ссылке. В РНР5 объекты передаются по ссылке (вроде бы, точно не знаю, забросил РНР когда еще 5й версии не было и не работал с ней).
В JavaScript объекты передаются по ссылке, как и в ActionScript.
Привык к 4-му
Привык 4-му, жаль, что он пока не поддерживается. Но, все равно спасибо.
Отправить комментарий