Изменение объектов JS

220
18 декабря 2017, 15:53

Почему здесь при модификации объекта из функции, не меняется исходный объект? Спасибо!!

var objs = {
  className: 'menu'
};
function news() {
  objs.className = 'new menu';
  console.log(objs);// 'new menu'
}
console.log(objs);//'menu'
news();
Answer 1

Чтобы изменился объект в функции, надо её (функцию) запустить. Запускаете вы функцию только после console.log(objs);, поэтому изменений не видите. А вот если напишите так:

news();
console.log(objs);

то увидите, потому что будете просматривать объект после отработки функции.

var objs = { 
  className: 'menu' 
}; 
 
function news() { 
  objs.className = 'new menu'; 
  console.log(objs);// 'new menu' 
} 
 
news(); 
console.log(objs);

READ ALSO
Ключ как значение

Ключ как значение

Как получить ключ объекта или массива как значение по-мимо конструкции for

200
Почему callback функцию нельзя сравнить с null?

Почему callback функцию нельзя сравнить с null?

Почему нельзя сравнивать callback с null? Отладчик ругается:

196
Вылетает callback error node.js

Вылетает callback error node.js

есть файл serverjs

252
Подгрузка JSON при клике по ссылке

Подгрузка JSON при клике по ссылке

Здравствуйте! Нужно, чтобы при нажатии на ссылку подгружался файл JSONПри проверке через консоль без события Click все работает:

240