真的 - window.document 和 window 里面的文档是不一样的。 Chrome
Really - window.document and document inside window is not the same. Chrome
我想知道为什么同一个实体在浏览器中具有不同的表示 window
在控制台中调用的对象:
- 如果我们只在浏览器控制台中调用
window
,我们将获得完整的浏览器信息。其中 document
将被表示为类似对象的实体,包括各种道具和功能(包括 DOM)。
- 如果我们直接通过
window.document
命令调用 document
,我们将只有它的 DOM 表示。
那么,为什么会这样?实在想不通
谢谢。
这正是 chrome 开发人员工具的工作方式。他们有几种不同的格式,可以在控制台中输出信息。 Dom 节点是一种对象,它们有自己的奇特实现,因为它们在 Web 开发中很常见。因此,当您执行 window.document
时,这就是它选择输出的格式。
对于其他类型的对象,它们以不同的格式输出,这就是您执行 window
时它正在做的事情。的确,您可以扩展它以深入研究 window.document,但开发工具会继续以相同的格式显示它,而不是试图将一种格式嵌套在另一种格式中。
直接来自我的 chrome 调试器:
>window.document === document
true
文档转达了 window.document 只是对文档的引用。
然而,即使它们引用同一个文档,文档 也可能包含特殊的 getter 和 setter,它们会覆盖 window.document...
我想知道为什么同一个实体在浏览器中具有不同的表示 window
在控制台中调用的对象:
- 如果我们只在浏览器控制台中调用
window
,我们将获得完整的浏览器信息。其中document
将被表示为类似对象的实体,包括各种道具和功能(包括 DOM)。 - 如果我们直接通过
window.document
命令调用document
,我们将只有它的 DOM 表示。
那么,为什么会这样?实在想不通
谢谢。
这正是 chrome 开发人员工具的工作方式。他们有几种不同的格式,可以在控制台中输出信息。 Dom 节点是一种对象,它们有自己的奇特实现,因为它们在 Web 开发中很常见。因此,当您执行 window.document
时,这就是它选择输出的格式。
对于其他类型的对象,它们以不同的格式输出,这就是您执行 window
时它正在做的事情。的确,您可以扩展它以深入研究 window.document,但开发工具会继续以相同的格式显示它,而不是试图将一种格式嵌套在另一种格式中。
直接来自我的 chrome 调试器:
>window.document === document
true
文档转达了 window.document 只是对文档的引用。
然而,即使它们引用同一个文档,文档 也可能包含特殊的 getter 和 setter,它们会覆盖 window.document...