offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsPmFVPO 222 of 503 menu

Параметры-объекты JavaScript

Объекты, в отличие от примитивов, передаются по ссылке. Это значит, что изменение объекта внутри функции приведет к тому, что он поменяется и снаружи функции. Смотрите пример:

function func(arr) { arr[0] = '!'; } let arr = [1, 2, 3]; func(arr); console.log(arr); // выведет ['!', 2, 3]

Определите, не запуская код, что выведется в консоль:

function func(obj) { obj.a = '!'; } let obj = {a: 1, b: 2, c: 3}; func(obj); console.log(obj);

Определите, не запуская код, что выведется в консоль:

function func(arg) { arg = '!'; } let obj = {a: 1, b: 2, c: 3}; func(obj.a); console.log(obj);

Определите, не запуская код, что выведется в консоль:

function func(obj) { obj = '!'; } let obj = {a: 1, b: 2, c: 3}; func(obj.a); console.log(obj);

Определите, не запуская код, что выведется в консоль:

function func(arr) { arr.splice(1, 1); } let arr = [1, 2, 3]; func(arr); console.log(arr);

Определите, не запуская код, что выведется в консоль:

function func(arr) { arr.slice(1, 1); } let arr = [1, 2, 3]; func(arr); console.log(arr);

Определите, не запуская код, что выведется в консоль:

function func(arr) { let newArr = arr; newArr[0] = '!'; } let arr = [1, 2, 3]; func(arr); console.log(arr);
enru