Например, я использовал в консоли Firefox:
[].forEach.call(document.getElementsByTagName('pre'), function(e){
console.log(e);
})
Браузер не сохраняет весь объект, когда вы вызываете console.log()
, просто ссылку на него. Когда вы проверите его позже, браузер получит текущую версию объекта.
Вы можете протестировать это довольно просто, добавив новый элемент к объекту.
Вызовите это на end:
var newAppData = {
"2": {
name: "a",
age: 443
}
}
В консоли он будет отображаться как
Object {0: Foo, 1: Foo}
Object {0: Foo, 1: Foo, 2: Foo}
, но когда вы откроете первую запись в журнале, вы увидите все три элемента, поэтому браузер проверяет текущую версию.
Демо: https://jsfiddle.net/n302nsbh/22/
Решение 1
Кому см. текущую версию элемента объекта, прямо ссылайтесь на нее с помощью console.log(fooManager.objects[0]);
. Это будет выводиться для вашего скрипта:
Foo {name: "a", age: 2}
Foo {name: "a", age: 443}
Демонстрация: https://jsfiddle.net/n302nsbh / 23 /
Решение 2
Просто нашел другое приятное решение в https://stackoverflow.com/a/7389177/1682509
Используйте console.log(JSON.parse(JSON.stringify(fooManager.objects)));
для получения моментального снимка для просмотра.