在没有附加组件的 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/7389069/