在没有附加组件的 Safari 中(实际上是大多数其他浏览器),console.log
将显示对象上次执行的状态,而不是 console.log 时的状态
被调用。
我必须克隆对象才能通过 console.log
输出它,以获取该行的对象状态。
示例:
var test = {a: true}
console.log(test); // {a: false}
test.a = false;
console.log(test); // {a: false}
最佳答案
我认为您正在寻找console.dir()
。
console.log()
不会执行您想要的操作,因为它打印对对象的引用,并且当您将其弹出打开时,它已更改。 console.dir
在您调用它时打印对象中属性的目录。
下面的 JSON 想法是一个很好的想法;你甚至可以继续解析 JSON 字符串并获得一个可浏览的对象,就像 .dir() 会给你的那样:
console.log(JSON.parse(JSON.stringify(obj)));
关于javascript - 如何使 console.log 显示对象的当前状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23912893/