当前位置: 首页 > 面试题库 >

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

公良弘毅
2023-03-14
问题内容

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



 类似资料:
  • 问题内容: 我正在做上面,一切正常。json对象内部的数组按数组json元素中“ text”键的宽度值排序。我注意到的是console.log中的这种奇怪行为。我在排序之前和排序之后都打印数组,在两次打印中都相同。它打印排序后的数组。为什么是这样? JSFIDDLE 问题答案: 排序没有问题,但这是大多数浏览器控制台的众所周知的特性(一种优化):只有在打开对象时才使用该对象的新值来构建树。 如果您

  • 我编写了一个代码,从txt文件中提取一行,将其拆分为不同的字符串和整数,然后将其存储到数组列表中,作为一个名为Professor的对象。主类的代码为: 问题是如何在控制台中显示arraylist?以及如何访问ArrayList中的一个对象中的字符串? 提前致谢

  • 本文向大家介绍如何使用JavaScript显示提示对话框?,包括了如何使用JavaScript显示提示对话框?的使用技巧和注意事项,需要的朋友参考一下 当您要弹出文本框以获取用户输入时,提示对话框非常有用。因此,它使您可以与用户进行交互。用户需要填写该字段,然后单击“确定”。 使用称为的方法显示此对话框,该方法带有两个参数:(i)您要在文本框中显示的标签,以及(ii)要在文本框中显示的默认字符串。

  • 问题内容: 这段代码: 在Chrome中产生以下输出: 这是为什么? 问题答案: 通过检查对象以异步方式进行。控制台同步接收到对对象的引用,但在对象被扩展之前不会显示对象的属性(在某些情况下,取决于浏览器以及日志发生时是否打开了开发工具)。如果在控制台中检查对象之前已对其进行了修改,则显示的数据将具有更新的值。 例如,Chrome会在一个方框中显示一点,悬停时说: 记录时左边的对象值已被快照,下面

  • 问题内容: 有一个旧的应用程序,使用可以打印出很多消息,但是我只是找不到在哪个文件和行中调用。 有没有办法挂接到应用程序并显示文件名和行号? 问题答案: 对于临时黑客来说,找到想要摆脱的日志语句,覆盖自己并不是很困难。 那将打印类似 那里有很多杂音,但调用堆栈的第二行,应该将您指向正确的位置。