真的-window.document和window内的文档不一样。铬

时间:2019-01-03 21:42:55

标签: javascript google-chrome dom browser window

我想知道为什么同一个实体在控制台中调用的浏览器window对象内部具有不同的表示形式:

  1. 如果我们仅在浏览器控制台中调用window,我们将获得完整的浏览器信息。 document将被表示为类似对象的实体,其中包含各种道具和功能(包括DOM)。
  2. 如果我们通过document命令直接调用window.document,我们将仅获得其DOM表示。

那么,为什么会发生呢?我真的不知道。

谢谢。

2 个答案:

答案 0 :(得分:2)

这只是chrome开发人员工具的工作方式。它们具有几种不同的格式,可以在控制台中输出信息。 Dom节点是一种对象,已经实现了自己的理想实现,因为它们在Web开发中很常见。因此,当您执行Sub SnakeFormula() Range("R" & newrows & ":R1000").Formula = "=iferror(IF(E" & newrows _ & "=""Planning"",VLOOKUP(D" & newrows _ & ",DataCheck4!A:F,3,FALSE),IF(E" & newrows _ & "=""Fieldwork"",VLOOKUP(D" & newrows _ & ",DataCheck4!A:F,4,FALSE),IF(E" & newrows _ & "=""Reporting"",VLOOKUP(D" & newrows _ & ",DataCheck4!A:F,5,FALSE),IF(E" & newrows _ & "=""Wrap Up"",VLOOKUP(D" & newrows _ & ",DataCheck4!A:F,6,FALSE),IF(E" & newrows _ & "=""Proj. Mgmt"",VLOOKUP(D" & newrows _ & ",DataCheck4!A:F,6,FALSE),""""))))))" End Sub 时,它就是它选择输出的格式。

对于其他类型的对象,它们以不同的格式输出它,这就是您执行window.document时所做的。确实可以扩展它以钻入window.document,但是开发工具会以相同格式显示它,而不是尝试将一种格式嵌套在另一种格式中。

答案 1 :(得分:0)

直接从我的Chrome调试器中获取

>window.document === document
true

documentantion中继该window.document只是对document的引用。

但是,即使它们引用相同的文档,文档也可能包含特殊的getter和setter,它们会覆盖window.document ...