Использует ли DOM API конструкторы и прототипы при создании/манипулировании узлами?

Я пытаюсь понять DOM API через ООП. Поскольку DOM API использует свойства и методы, встроенные в браузер, а document, скажем, document.createElement является экземпляром Document, можно ли с уверенностью сказать, что document является экземпляром, созданным из конструктора Document? Например, когда я использую DOM, происходит ли это под капотом?:

let document = new Document();

где Document() определяется как что-то вроде:

class Document {
 constructor()
 //some properties and methods
}

Также при выполнении следующих кодов:

let link = document.querySelector('a');
link.textContent('This is a link');

это тот случай, когда link наследует прототип от Document, а метод textContent вызывается через сеттер:

class Document {
 set textContent(x){
  some_variable = x;
 }
}

Есть ли способ увидеть исходный код Document, кроме console.info(Document)?

Нет, функция Document встроена и реализована нативно, а не с помощью кода JS.

Bergi 25.02.2019 14:35

Можете ли вы разъяснить это? Я не уверен, что знаю, что это значит

Kevvv 25.02.2019 14:36

Мы не знаем (и нам все равно), как был создан экземпляр window.document, он уже существует в среде, когда запускается наш код js. Я почти уверен, что он не создан через интерфейс js.

Bergi 25.02.2019 14:37

Какая связь между функцией Document и windows.document? Функция Document, похоже, содержит свойство прототипа, как обычная функция-конструктор.

Kevvv 25.02.2019 14:41

Вы можете взглянуть на stackoverflow.com/a/16790591/1048572

Bergi 25.02.2019 14:44
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
20
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Объектная модель документа (DOM) — это программный API для документов HTML и XML. Он определяет логическую структуру документов и способ доступа к документу и управления им.

Это не часть JS, это реализованный стандарт W3C. Объектная модель документа может использоваться с любым языком программирования.

Действия, выполняемые с использованием языковых привязок, обеспечивают языковые привязки для Java и ECMAScript.

Пользователь может обратиться к стандартному документу спецификации по адресу Источник W3C.

Другие вопросы по теме