console.log是异步的吗?

时间:2022-08-25 19:43:57

WebKit的console.log由于表现出异步行为而让很多开发者惊诧不已。在Chrome或Safari中,以下这段代码会在控制台记录


{foo:bar}。


var obj = {};
console.log(obj);
obj.foo = 'bar';



怎么会这样?WebKit的console.log并没有立即拍摄对象快照,相反,它只存储了一个指向对象的引用,然后在代码返回事件队列时才去拍摄快照。
Node的console.log是另一回事,它是严格同步的,因此同样的代码输出的却为{}