首页  >  问答  >  正文

如何在console.log中显示对象的当前状态?

<p>在没有任何附加组件的Safari浏览器(实际上大多数其他浏览器也是如此),<code>console.log</code>会显示对象在执行的最后状态,而不是<code>console.log</code>被调用时的状态。</p> <p>我必须克隆对象才能通过<code>console.log</code>输出它,以获取该行代码中对象的状态。</p> <p><strong>示例:</strong></p> <pre class="brush:php;toolbar:false;">var test = {a: true} console.log(test); // {a: false} test.a = false; console.log(test); // {a: false}</pre> <p><br /></p>
P粉868586032P粉868586032425 天前501

全部回复(2)我来回复

  • P粉473363527

    P粉4733635272023-08-23 12:27:07

    如果我想查看它在记录时的状态,我通常会将其转换为JSON字符串。

    console.log(JSON.stringify(a));

    回复
    0
  • P粉464113078

    P粉4641130782023-08-23 11:29:35

    我认为你正在寻找console.dir()

    console.log()不能实现你想要的功能,因为它打印的是对象的引用,而在你打开它时,它已经发生了变化。console.dir在调用时会打印对象的属性目录。

    下面的JSON想法是个好主意;你甚至可以继续解析JSON字符串并获得一个可浏览的对象,就像.dir()会给你的那样:

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

    回复
    0
  • 取消回复