什么是DOM?什么是从DOM中获取的对象?

Zac*_*ith 3 javascript dom

我知道一些Javascript,并且最近开始尝试将其与代码学院课程结合使用.在以下代码中:

function sayHello(name){
    document.getElementById("result").innerHTML = 'Hello ' + name + '!';
}
Run Code Online (Sandbox Code Playgroud)

上面代码中的"文档"是DOM吗?

这意味着getElements是文档的属性(函数),而innerHTML是getElements函数的函数....对吗?

如果我正确看到这一点,那么DOM对象如何具有javascript属性/函数?

Sea*_*ira 8

documentDOM

简短的回答

是的,从某种意义上说它是它的根源.

答案稍微长一些

文档对象模型(DOM)是什么浏览器提供的JavaScript运行时允许JavaScript代码来操作页面(它的节点和相关元数据).document是DOM的一部分.

DOM如何具有JavaScript属性

简短的回答

他们没有.

答案稍微长一些

DOM实际上并不是用JavaScript管理的.它通常由一个单独的引擎管理,用C++或Rust等低级语言编写(在Mozilla的Servo项目中).JavaScript运行时也是用较低级别的语言编写的(同样,C++也是最有可能的),并且DOM的某些属性暴露给JavaScript运行时,就好像它们是本机JavaScript对象一样.事实上它们不会使各种有趣的东西成为可能......并且通常使得这些DOM对象并不总是像你期望的那样"真正的"JavaScript对象的行为(例如typeof querySelectorAll在IE 8中返回"对象") ,而不是人们合理预期的"功能").

  • 好答案。我会因为实际参考定义 DOM 的 W3C 推荐标准而奖励积分。 (2认同)