![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Vovan222 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 9.9.2010 Репутация: нет Всего: нет |
Подскажите пожалуйста можно ли в JS передать значение в функцию по ссылке, как в том же PHP или C++. Делаю так:
Но test все равно остается null. Хотелось бы чтобы test после выполнения функции стал объектом. Это возможно. Спасибо. |
|||
|
||||
GrafF812 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Вроде в JS только изменение свойств объекта влияют на внешний объект.
Или как-нибудь можно передать весь объект по ссылке? Это сообщение отредактировал(а) GrafF812 - 13.6.2011, 18:31 |
|||
|
||||
Amphiluke |
|
||||
![]() ☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
GrafF812 прав. Строго говоря, параметры, передаваемые в функцию, всегда передаются по значению. При этом, например, для параметров объектного типа таким значением является ссылка на объект. То есть в функцию передается значение, являющееся копией ссылки на объект. Поэтому присваивая новое значение параметру функции, вы лишь перезаписываете копию ссылки на объект, не меняя ни сам объект, ни оригинал самой первой ссылки, созданной за пределами функции. Звучит запутанно, но пояснить можно на схеме:
Поэтому перезаписывать объекты целиком внутри функции можно только в том случае, если они являются свойствами другого содержащего их объекта, передаваемого функции в качестве аргумента:
Это сообщение отредактировал(а) Amphiluke - 13.6.2011, 20:02 |
||||
|
|||||
Vovan222 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 9.9.2010 Репутация: нет Всего: нет |
Amphiluke, Спасибо за подробное объяснение.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |