[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Магия присвоения
Kusss
Помогите разобраться, почему элемент b меняет своё значение ?
let c = '12:sdfnjf.45',
a = c.split(":"),
b = a;

console.log('b is', b);

a[1]= a[1].replace(".","_");

console.log('b is wrong', b);
Результат
b is (2) ["12", "sdfnjf.45"]
b is wrong (2) ["12", "sdfnjf_45"]
brevis
Массивы тоже передаются по ссылке.
Если нужна копия массива -- ее можно просто получить так:
b = a.slice()


_____________
Чатик в телеге
killer8080
Цитата (Kusss @ 8.08.2017 - 14:38)
почему элемент b меняет своё значение ?

потому что имя переменной в JS это всего лишь ссылка на объект в памяти. В твоём коде a и b ссылаются на один и тот же объект!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.