Присвоение переменной значения другой переменной

Тема в разделе "JavaScript", создана пользователем Q_BASIC, 14 ноя 2015.

Модераторы: ZiX
  1. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    385
    Симпатии:
    254
    Приветствую,

    Как я понял, переменной присваивается только ссылка на другую переменную, как сделать чтобы присваивалось значение?

    Есть код:
    Код:
    var temp_array = window.my_array;
    temp_array.reverse();
    Переворачиваем массив temp_array: в результате перевернуты оба массива.

    Специально создаю вторую переменную, а переворачивается первая.
     
  2. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.390
    Симпатии:
    580
    Пробовали clone()?
    Перейти по ссылке
     
  3. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    385
    Симпатии:
    254
    clone() не копирует переменные, он создает копии jQuery объектов (div, span и так далее)
    Перейти по ссылке

    Пример работы:
    Код:
    $( ".hello" ).clone().appendTo( ".goodbye" );
     
  4. broody

    broody Создатель

    Регистр.:
    3 ноя 2015
    Сообщения:
    10
    Симпатии:
    5
    При передаче параметра в функцию по значению создается отдельная копия параметра, существующая только внутри этой функции.
     
  5. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    379
    Симпатии:
    192
    Код:
    var temp_array = window.my_array.slice(0);
    temp_array.reverse();
     
  6. Yulia

    Yulia Создатель

    Регистр.:
    24 сен 2006
    Сообщения:
    29
    Симпатии:
    0
    Если my_array - массив, то можно в temp_array создать новый массив и продублировать в цикле значения из my_array в temp_array.
     
  7. warg

    warg Постоялец

    Регистр.:
    26 июн 2007
    Сообщения:
    129
    Симпатии:
    136
    объекты можно копировать через Перейти по ссылке

    no= $.extend({}, o ); - если объект простой
    no = $.extend(true,{}, o ); - если содержит вложенные объекты

    для одномерных массивов можно использовать для копирования
    na = a.slice(0);