【问题标题】:In Js, why document object is displayed in such a different manner unlike other objects?在 Js 中,为什么文档对象的显示方式与其他对象不同?
【发布时间】:2021-02-15 14:15:29
【问题描述】:

如果我们这样做:console.log(typeof document) 我们会知道 document 是一个 object

我想对象应该以以下格式显示:

 object_name{property1:value1,property2:value2,...}

无论如何,对于文档对象,如果我们简单地执行console.log(document),那么我们将显示以下格式的结果:

<!DOCTYPE html>
<html>
<head></head>
<body></body>
</html>

为什么文档的显示方式如此奇特?

【问题讨论】:

  • 不确定原因,window.document 是对文档的引用。它不是一个对象。它的行为就像您记录 div 或任何其他 html 元素时一样。
  • document 不像“其他对象”;它是浏览器向 JavaScript 领域公开的 API。这是独一无二的。
  • 对于浏览器如何在控制台中表示值没有标准。对于许多与 DOM 有某种关联的对象,它们的 HTML 表示会被记录下来。但是浏览器可以随心所欲地进行。
  • console.log(document.getElementById("foo")) 不呈现经典对象视图的原因相同。
  • 这也不是浏览器的怪癖,不能保证任何 javascript console.log 实现都会打印所有对象的键值对。例如,在node 中打印Buffer 将输出Buffer 对象的更有用的可视化效果。它只是被认为更有用。

标签: javascript object dom ecmascript-6


【解决方案1】:

对于 dom 元素 console.log 将在显示它们时给予特殊处理,它们以树状结构显示。要将 DOM 元素显示为属性和值对,我们可以使用 console.dir

以下是合并了同样问题的文章: 1.what is console.dir and why use it ? 2.unusual behaviour of dom objects

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 2021-12-31
    • 2018-05-30
    相关资源
    最近更新 更多