На самом деле - window.document и документ внутри окна - это не одно и то же.Хром - PullRequest
0 голосов
/ 04 января 2019

Интересно, почему одна и та же сущность имеет другое представление внутри браузера window объект, вызываемый в консоли:

  1. Если мы вызовем просто window внутри консоли браузера, у нас будет целоеинформация браузераГде document будет представлен как объектно-подобная сущность, включая различные реквизиты и функции (включая DOM).
  2. Если мы вызываем document напрямую командой window.document, у нас будет только представление DOMоб этом.

Итак, почему это происходит?Я действительно не могу понять.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 января 2019

прямо из моего отладчика Chrome:

>window.document === document
true

В документе указано, что window.document - это просто ссылка на документ.

Однако даже если они ссылаются на тот же документ, document может содержать специальные методы получения и установки, которые переопределяют те из window.document ...

0 голосов
/ 04 января 2019

Именно так работают инструменты разработчика Chrome.У них есть несколько различных форматов, которые они могут выводить информацию в консоли.Узлы Dom, которые являются типом объекта, получили собственную причудливую реализацию, поскольку они являются таким распространенным явлением в веб-разработке.Поэтому, когда вы делаете window.document, это формат, который он выбирает для вывода.

Для других типов объектов они выводят его в другом формате, и это то, что он делает, когда вы делаете window.Это правда, что вы можете расширить это, чтобы углубиться в window.document, но инструменты разработки продолжают отображать его в том же формате, вместо того, чтобы пытаться вложить один формат в другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...