Javascript DOM对象出生在哪里?

Javascript DOM对象出生在哪里?,javascript,dom,Javascript,Dom,请告诉我DOM对象存放在哪里。看起来浏览器的某些部分(渲染引擎或浏览器引擎)创建并保留了它们。 例如,如果我们在HTML文档中有一个标记,那么就会创建DOM对象,它从对象HTMLInputElement、HTMLElement、Element、Node、EventTarget、object继承属性和方法。我不清楚它们来自哪里,似乎不是来自Javascript引擎 我想不出来。有人说DOM对象是Javascript对象,但不是很多。纯JS对象是在JS引擎中创建的,但是DOM是用C++编写的,并且允

请告诉我DOM对象存放在哪里。看起来浏览器的某些部分(渲染引擎或浏览器引擎)创建并保留了它们。 例如,如果我们在HTML文档中有一个标记,那么就会创建DOM对象,它从对象HTMLInputElement、HTMLElement、Element、Node、EventTarget、object继承属性和方法。我不清楚它们来自哪里,似乎不是来自Javascript引擎

我想不出来。有人说DOM对象是Javascript对象,但不是很多。纯JS对象是在JS引擎中创建的,但是DOM是用C++编写的,并且允许使用DOM对象和其他JS对象一样。DOM对象看起来像JS语言中的其他对象,工作起来像真正的JS对象

如果DOM对象不在JS引擎中“活动”,这些DOM对象如何创建用户定义的属性,这些属性可以在JS引擎中“看到”

我的结论是DOM对象是在浏览器引擎(比如Gecko)中创建的。这是用C++编写的。它们继承自classesNode、Element和HtmleElement 看来,Node和HtmleElement是主机对象。换句话说,它们是由浏览器引擎Gecko的对象组成的,而不是JS引擎的对象。Gecko内置类的一些实例

  • 但接口定义语言到底是什么
  • 请告诉我我的理解哪里错了

    请告诉我DOM对象存放在哪里

    除非您正在编写浏览器,否则这是一个无关紧要的实现细节

    如果DOM对象不在JS引擎中“活动”,这些DOM对象如何创建用户定义的属性,这些属性可以在JS引擎中“看到”

    浏览器提供了一个API,将它们公开给JS引擎

    但接口定义语言到底是什么

    一种描述API的方法,以便您知道(例如)在一种对象类型上有哪些方法可用

    请告诉我DOM对象存放在哪里

    除非您正在编写浏览器,否则这是一个无关紧要的实现细节

    如果DOM对象不在JS引擎中“活动”,这些DOM对象如何创建用户定义的属性,这些属性可以在JS引擎中“看到”

    浏览器提供了一个API,将它们公开给JS引擎

    但接口定义语言到底是什么

    一种描述API的方法,以便您知道(例如)在一种对象类型上有哪些方法可用