Написал простой пример с изменением объекта в функции при передаче по ссылке. https://plnkr.co/edit/kR9zRc0Y...
var salaries = {
"Вася": 100,
"Петя": 300,
"Даша": 250
};
function changeObject(object) {
for (var key in object) {
object[key] += 100;
}
}
console.log(salaries);
changeObject(salaries);
console.log(salaries);
В итоге результат:
Object {Вася: 100, Петя: 300, Даша: 250}
Object {Вася: 200, Петя: 400, Даша: 350}
Передача по ссылке происходит, но console.log()
отрабатывает не так как ожидается, как будто Chrome (Version 49.0.2623.110 (64-bit)) фиксирует состояние объекта на момент console.log()
, хотя вроде должен ссылаться на один и тот же измененный объект.
Кто знает в чем может быть дело?
Суть заключается в том, как работает консоль в хроме. И конкретно, функция log
.
Она выводит значение объекта в момент вывода, при этом, если для вывода всех свойств требуется много места, появляется возможность развернуть объект.
При этом можно заметить, что в свернутом виде будет показываться информация актуальная на момент вывода, но если развернуть
будет показано состояния объекта на момент разворачивания.
Чтобы избежать такой неоднозначности, можно использовать
console.dir
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу по советоватьсяКак научиться JavaScript, то есть может есть какие либо ресурсы, книги
Извините, если вопрос глупый, но почему в данном случае в переменной x лежит null:
Кто-нибудь знает, как использовать тег animate в feFuncRGB в feComponentTransfer? У меня есть фильтр SVG, и мне нужно показать / скрыть его по щелчку с transition