в функцию массив не копируется, а передается ссылка.... Объясните это пожалуйста на примерах с примитивами и массивом в функциях...
Передадим в функцию массив и изменим переданный аргумент. В итоге изменится и исходный массив, так как это лишь ссылка на исходный массив.
const func = arr => {
arr.push(222);
console.log(array);
};
const array = [ 111 ];
func(array);
Передадим в функцию переменную с булевым значением и изменим переданный аргумент. В итоге исходная переменная не изменится, так как аргумент лишь принимает значение и по сути это новая переменная.
const func2 = b => {
b = true;
console.log(bool);
}
const bool = false;
func2(bool);
Объекты в JS всегда передаются по ссылке, а простые типы, по значению. Массив – это разновидность объекта.
Очень хорошо данная тема (с наглядными примерами) рассматривается здесь.
Скопировать массив вы можете в самой функции методом slice:
function func(arr) {
let tempArr = arr.slice(0, arr.length - 1); //копирует все элементы массива
//тут что то делаем с tempArr
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Помогите с ошибкой Uncaught TypeError: Cannot set property 'drawSquare' of undefined
У меня есть столбец 'region' В нем записаны: Москва, Санкт-Петербург, Омск, Сочи, Пермь
здравствуйте, в бд использовал до этого момента time() для установления значения времени (к примеру дата добавление новости), возможно ли теперь...
Здравствуйте, не могу понять, при выставлении галочки, запись в бд не идетВот кусочек кода, если нужен полный, скину