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

标签 javascript debugging logging console console.log

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

相关文章:

javascript - 在firefox中读取xml文档

java - 调试和检查java核心API?

python - Django - 使用 REMOTE_USER 进行身份验证 - 如何在开发服务器中进行测试?

c# - 写入xml格式的日志文件

使用 docker-compose : Can I use two drivers at the same time? 进行日志记录

javascript - 嵌入式youtube视频-仅播放没有音频的视频?

javascript - 如何使用 onclick 事件触发此代码。我尝试过但失败了

javascript - 如何在 JavaScript 中删除两个不同字符对的重复项?

javascript - 在 Visual Studio 2017 中调试 node.js 项目时如何传递参数?

java - 记录器创建太多文件