在Chrome控制台中展开JavaScript对象时,会显示不同的属性值

Cur*_*ero 6 javascript datetime google-chrome

我正在使用Chrome开发工具进行一些JavaScript调试,发现以下奇怪之处.

date当对象扩展时,如何有不同的值?

SDe*_*kov 7

打印对象时应小心使用chrome控制台.请注意,chrome在打印/扩展对象时会进行评估,也会异步进行评估(意味着其他代码可能会同时执行并更改对象).始终尝试打印到String进行调试,而不是打印对象本身.

我做了一个非常简单的例子来说明问题.

<div id="foo"></div>

console.log($('#foo')); //expected output [div#foo...]
$('#foo').attr('id','hello');
Run Code Online (Sandbox Code Playgroud)

chrome控制台中的实际输出是:

示例图片

在这里自己试试(JSFiddle).