奇怪的是, window.document 没有返回它应该理想返回的正确对象。为什么?

Dea*_*ool 2 html javascript object ecmascript-6

案例一:(任何一般对象)

Obj1 = {
 name: "Jack",
 age: 21,
 address: {
  city: "New York",
  street: "Black Street",
  house_no: 39
 }
}
Run Code Online (Sandbox Code Playgroud)

现在,console.log(Obj1.address) 我将得到:

 {
  city: "New York",
  street: "Black Street",
  house_no: 39
 }
Run Code Online (Sandbox Code Playgroud)

案例二:Window.document

应用相同的逻辑 - 首先我会做console.log(window),然后console.log(window.document)。但是,现在我没有得到 window.document 的正确结构(我应该得到理想的结构),而是得到了 'dom-structure'(我不应该得到理想的结构)。

现在,有人能告诉我为什么会这样吗?如何在 window.document 而不是 html dom 中获得正确的结构?

控制台日志(窗口);

在此处输入图片说明

控制台日志(窗口。文档);

在此处输入图片说明

现在,有人可以帮助我理解为什么“window.document”没有提供正确的对象结构的问题——它应该提供什么?

Cer*_*nce 5

当您使用console.log任何 DOM 元素时,Chromium 将在控制台中显示该元素的 HTML 结构。如果要检查对象的 Javascript 属性,则必须console.dir改用:

在此处输入图片说明

(这样做的主要缺点是console.dir只接受一个对象作为参数,但console.log可以同时记录多个参数)

  • Chrome *尝试*提供帮助 - 通常,当您记录元素时,您希望查看 DOM 中元素的结构,而不是其 Javascript 属性。这是一个[特殊例外](https://developer.mozilla.org/en-US/docs/Web/API/Console/log)。*具体来说,`console.log` 对 DOM 元素进行特殊处理,而 `console.dir` 则没有。* (2认同)