powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JavaScript) Как копировать объекты
5 сообщений из 5, страница 1 из 1
(JavaScript) Как копировать объекты
    #35803841
NT Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с проблемой, что в результате работы функции портится входной параметр.

Код: plaintext
1.
2.
3.
4.
function aaa(a)
{
  a['b']='some value';
  return a;
}

Появилось желание переделать функцию.

Код: plaintext
1.
2.
3.
4.
5.
function aaa(a)
{
  b=a;
  b['b']='some value';
  return b;
}

Но проблема в том что в JavaScript объект копируется как ссылка и изменение b затрагивают попрежнему объект a, но самое неприятное, что это приводит к изменению глобального объекта, который используется в качестве параметра функции.

Помогите скопировать объект в другой объект или так объявить функцию, чтобы входные параметры всегда оставались целыми.

Цикл по всех свойствам объекта не предлагать, ищу более оптимальное решение.
...
Рейтинг: 0 / 0
(JavaScript) Как копировать объекты
    #35804869
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NT Manв результате работы функции портится входной параметр.
так зачем его тогда "портят"? Перестаньте портить входные параметры без надобности...
...
Рейтинг: 0 / 0
(JavaScript) Как копировать объекты
    #35805423
NT Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так уже сделал финт ушами. А вообще задача была примитивная слить один объект с другим и отдать на выходе слитый объект при этом портить входные объекты запрещено.
Ну и первое, что пришло на ум по инерции (т.к. привык к тому, что входные параметры функции это копия входных переменных) это писать в цикле в первый объект элементы второго объекта. Но как оказалось при этом первый параметр портится. Самое обидное, хоть локти кусай, что объявление локальной переменной для аккумуляции не помогло, а все по той же причине. Аккумулятор был не новой структурой, а ссылкой на первый параметр.
...
Рейтинг: 0 / 0
(JavaScript) Как копировать объекты
    #35805533
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NT Manзадача была примитивная слить один объект с другим и отдать на выходе слитый объект при этом портить входные объекты запрещено
Вот оно чего... Про "сливания" объектов я пока первый раз слышу. Т.ч. ты отпишись тут к чему пришел в конечном итоге.
...
Рейтинг: 0 / 0
(JavaScript) Как копировать объекты
    #35805575
NT Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не претендую на абсолютную истину и оптимальность, вот что вышло: тынц
Если кто-либо решит задачу оптимальнее буду только рад.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JavaScript) Как копировать объекты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]