一尘不染

JavaScript如何使console.log显示对象的当前状态?

javascript

在没有附加组件的Safari(实际上是大多数其他浏览器)中,console.log将在执行的最后状态而不是在console.log调用时的状态下显示对象。

我必须克隆对象只是为了将其输出console.log以获取该行的对象状态。

例:

var test = {a: true}
console.log(test); // {a: false}
test.a = false; 
console.log(test); // {a: false}

阅读 416

收藏
2020-04-25

共1个答案

一尘不染

我认为您正在寻找console.dir()console.log()不会执行您想要的操作,因为它会打印对对象的引用,并且在您将其弹出时将其更改。console.dir调用时在对象中打印属性的目录。

下面的JSON想法是一个好主意;您甚至可以继续解析JSON字符串,并获得类似.dir()的可浏览对象:

console.log(JSON.parse(JSON.stringify(obj)));

2020-04-25