请告诉我 DOM 对象保存在哪里。似乎浏览器的某些部分(渲染引擎或浏览器引擎)创建并保留它们。 例如,如果我们在 HTML 文档中有一个标签,那么就会创建 DOM 对象,该对象继承了 HTMLInputElement、HTMLElement、Element、Node、EventTarget、Object 对象的属性和方法。我不清楚它们来自哪里,似乎不是来自 Javascript 引擎。
我无法弄清楚。有人说 DOM 对象是 Javascript 对象,但不多。纯 JS 对象是在 JS 引擎中创建的。但是 DOM 是用 C++ 编写的,并且允许像其他 JS 对象一样使用 DOM 对象。 DOM 对象看起来像 JS 语言中的其他对象,并且像真正的 JS 对象一样工作。
如果 DOM 对象不在 JS 引擎中“存在”,这些 DOM 对象如何创建可以在 JS 引擎中“看到”的用户定义属性?
我得出的结论是 DOM 对象是在浏览器引擎(例如 Gecko)中创建的。这是用 C++ 编写的。它们继承自classesNode、Element、HTMLElement 因此,Node 和 HTMLElement 似乎是宿主对象。换句话说,它们是浏览器引擎Gecko的组成对象,而不是JS引擎的对象。 Gecko 内置类的某种实例。
- 但是接口(interface)定义语言到底是什么?
请告诉我我的理解哪里错误
最佳答案
Please tell me where are DOM objects are kept.
除非您正在编写浏览器,否则这是一个无关紧要的实现细节。
How can these DOM-objects let create user-defined properties, that can bee "seen" in JS engine, if DOM-objects "live" not in JS engine?
浏览器提供了一个 API,将它们公开给 JS 引擎。
But what the heck is Interface Definition Language?
一种描述 API 的方法,以便您了解(例如)某种类型的对象可以使用哪些方法。
关于javascript - DOM 对象是在哪里诞生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46094613/