system.err样式控制台在javascript中打印

时间:2015-03-24 13:10:10

标签: javascript angularjs logging console.log

我最近发现做了类似的事情:

console.dir(x)

不是瞬时的,而是缓冲的,除此之外,它在打印实际完成时打印变量x的状态,而不是在调用console.dir(x)时。这意味着如果x在我调用console.dir(x)和console.dir(x)实际打印之间发生变化,则无法在特定时间点查看x的状态并保证查看那个时间点的x状态。

有没有办法停止所有内容并打印x的状态,然后继续,类似于System.err在java中的工作方式?

1 个答案:

答案 0 :(得分:1)

如果你正在使用Angular,你可以试试console.dir(angular.copy(x));。这将在对象记录时打印该对象的副本,以便以后不会显示发生的任何突变。请参阅此JSFiddle

或者你可以console.log(JSON.stringify(x, null, 2));