![]() |
Параметр по ссылке
Как можно (и можно ли) передать функции параметр по ссылке, т.е. что бы она могла его менять?
Код:
a = 10; |
При передаче простых типов данных они, если не ошибаюсь, всегда передаются по значению, то есть либо пользуемся извратом типа
Код:
a = 10;Код:
a = [10, 9, 8]; |
Не хотелось бы "пользоваться извратом"... =)
Т.е. можно передавать параметры по ссылке как элементы массива, чтобы не передавать ссылки на объект и имя свойства, насколько я понял? |
Да, можно передавать как массив, но тогда изменения произойдут в массиве.
Поэтому не проще ли использовать что-то похожее на Код:
var a = 10; |
Да, но я не идиот :). Мне это нужно для распределенных во времени вычислений. Т.е. чтобы можно было написать:
doSomethWithThat(objectToModify); (где, функция будет выполнять объемные вычисления за неопределенный промежуток времени) а потом использовать полученный результат, типа trace(objectToModify); А то, что предложил ты, можно заменить на a=0; :) для простоты... Я в принципе понимаю, что ты не издеваешься, просто я сразу не раскрыл суть задачи. Прошу пардона. |
Я понимаю, что тебе это нужно не для банального обнуления, имелось ввиду, что использовать массив как промежуточный этап -- скорее всего, способ не лучший.
Надеюсь, я хотя бы в чем-то помог :) |
Цитата:
если параметр - объект, то передается ссылка (меняй скока надо) для простых типов - значение(т.е. чтоб модифицировать придется упаковать в объект и передавать его) в чем вопрос ? |
| Часовой пояс GMT +4, время: 17:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.