我知道一些Javascript,并且最近开始尝试将其与代码学院课程结合使用.在以下代码中:
function sayHello(name){
document.getElementById("result").innerHTML = 'Hello ' + name + '!';
}
Run Code Online (Sandbox Code Playgroud)
上面代码中的"文档"是DOM吗?
这意味着getElements是文档的属性(函数),而innerHTML是getElements函数的函数....对吗?
如果我正确看到这一点,那么DOM对象如何具有javascript属性/函数?
document
DOM简短的回答
是的,从某种意义上说它是它的根源.
答案稍微长一些
该文档对象模型(DOM)是什么浏览器提供的JavaScript运行时允许JavaScript代码来操作页面(它的节点和相关元数据).document
是DOM的一部分.
简短的回答
他们没有.
答案稍微长一些
DOM实际上并不是用JavaScript管理的.它通常由一个单独的引擎管理,用C++或Rust等低级语言编写(在Mozilla的Servo项目中).JavaScript运行时也是用较低级别的语言编写的(同样,C++也是最有可能的),并且DOM的某些属性暴露给JavaScript运行时,就好像它们是本机JavaScript对象一样.事实上它们不会使各种有趣的东西成为可能......并且通常使得这些DOM对象并不总是像你期望的那样"真正的"JavaScript对象的行为(例如typeof querySelectorAll
在IE 8中返回"对象") ,而不是人们合理预期的"功能").