Написал простой пример с изменением объекта в функции при передаче по ссылке. 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
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хочу по советоватьсяКак научиться JavaScript, то есть может есть какие либо ресурсы, книги
Извините, если вопрос глупый, но почему в данном случае в переменной x лежит null:
Кто-нибудь знает, как использовать тег animate в feFuncRGB в feComponentTransfer? У меня есть фильтр SVG, и мне нужно показать / скрыть его по щелчку с transition