Передача объектов в функции JavaScript: Почему изменения не всегда работают?
Представьте, что вы дали другу свою книгу, он в ней что-то подчеркнул карандашом, и вернул вам обратно. Когда вы снова открываете книгу, пометки на месте — они остались. Всё логично. Но иногда в JavaScript происходит путаница: вы передаете объект в функцию, меняете его внутри, а снаружи он... не меняется. Или меняется, но не так, как вы ожидали. Давайте разберемся, почему так происходит, на понятных примерах. Обычно с простыми вещами (цифрами, текстом) всё просто. Копируя значение, мы создаем его независимую копию: Здесь внутри функции появилась своя независимая переменная ageInside...