问题
If you execute this code:
var foo = {bar: 'baz'};
window.console.log(foo);
foo.bar = 'bla';
The console shows this after expanding the object:

(when logging objects and arrays, it's not the run-time value that's recorded)
This bug was documented over a year ago:
http://code.google.com/p/chromium/issues/detail?id=50316
Is there a workaround for logging objects in Chrome?
回答1:
I just use JSON.stringify
when i need it. Don't know if it will do it for you, but it is easy and effective for debugging purposes.
This is no good for objects with function references in it tho, so if you need that i would consider using either a deep copy of the object (you can use jQuery's excellent extend
method) or roll you own logging function that will loop recursively over the object and print it out.
回答2:
You could use a dedicated logging library such as my own log4javascript.
来源:https://stackoverflow.com/questions/7521916/workaround-for-logging-objects-to-console-in-chrome