当前位置: 首页 > 知识库问答 >
问题:

console.dir和console.log之间有什么区别?

赵永新
2023-03-14

在Chrome中,console对象定义了两个似乎执行相同操作的方法:

console.log(...)
console.dir(...)

我在网上读到,dir在记录对象之前获取对象的副本,而log只是将引用传递给控制台,这意味着当您去检查您记录的对象时,它可能已经更改了。然而,一些初步的测试表明,它们并没有什么区别,而且它们都有可能显示对象的状态与记录对象时的状态不同。

在Chrome控制台(Ctrl+Shift+J)中尝试此操作,以了解我的意思:

> o = { foo: 1 }
> console.log(o)
> o.foo = 2

共有1个答案

丁承德
2023-03-14

在Firefox中,这些函数的行为完全不同:log只打印出ToString表示形式,而Dir则打印出可导航树。

在Chrome中,log已经打印出一个树--大多数时候都是这样。但是,Chrome的log仍然可以区分某些对象类,即使它们具有属性。也许最明显的差异例子是正则表达式:

> console.log(/foo/);
/foo/

> console.dir(/foo/);
* /foo/
    global: false
    ignoreCase: false
    lastIndex: 0
    ...

您还可以看到与数组(例如,console.dir([1,2,3]))的明显区别,它们是与普通对象不同的log:

> console.log([1,2,3])
[1, 2, 3]

> console.dir([1,2,3])
* Array[3]
    0: 1
    1: 2
    2: 3
    length: 3
    * __proto__: Array[0]
        concat: function concat() { [native code] }
        constructor: function Array() { [native code] }
        entries: function entries() { [native code] }
        ...
 类似资料:
  • 问题内容: 在Chrome中,对象定义了两个似乎做同样事情的方法: 我在某处在线阅读,在记录该对象之前先获取了该对象的副本,而只是将引用传递给控制台,这意味着到您检查记录的对象时,它可能已更改。但是,一些初步测试表明,两者没有什么区别,而且它们都可能以与记录时不同的状态显示对象。 在Chrome控制台(+ + )中尝试此操作,以了解我的意思: 现在,展开下面的log语句,注意它显示的值为2。如果使

  • 可能的重复: console.dir 和 console.log 有什么区别? 我最近了解到 的存在。 在浏览了MDN之后,我并没有清楚地理解它和< code>console.log之间的真正区别。它们都显示相同的输出(但是< code >。dir显示一些属性),是这样吗? 调试/开发时应该使用哪个函数? 编辑:我刚刚发现了一个回答我想法的现有问题:console.dir和console.log有

  • 本文向大家介绍javascript中console.dir和console.log之间的区别?,包括了javascript中console.dir和console.log之间的区别?的使用技巧和注意事项,需要的朋友参考一下 console方法显示传递给它的任何对象的toString表示形式。 Console方法显示指定JavaScript对象的属性的交互式列表。输出显示为带有显示三角形的层次结构列

  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型

  • 问题内容: 今天,我按照一些说明在Linux中安装软件。有一个脚本需要首先运行。它设置一些环境变量。 指令告诉我要执行,但是我执行错误了。因此未设置环境。最后,我注意到了这一点并继续进行。 我想知道这两种调用脚本方法的区别。我对Linux完全陌生,所以请尽可能详细。 问题答案: 运行脚本,将启动一个新的运行脚本的外壳。新的外壳程序不会影响启动脚本的父外壳程序。 是的简写形式,它将在当前shell中

  • 问题内容: 我刚开始使用Spring。我遇到了很多教程。我看到使用更多的例子比。我查看了Spring文档,但无法弄清楚使用其中一个的好处。有人可以提供一些解释吗? 问题答案: 是的便捷子类。 JavaDoc描述了一些添加的属性,这些属性在某些情况下可能有用: UrlBasedViewResolver的便利子类,它支持InternalResourceView(即Servlet和JSP)以及诸如Jst