我完全不知道脚本语言和文档对象模型之间的关系
我们都知道DOM是HTML和XML文档的API,可以作为文档结构树生成的对象来操作,因此API具有适当性和方法,我们可以使用它来控制文档中的更改但是如果我们说我们会最后发现没有像JavaScript这样的脚本语言的干预
例如,如果我们在HTML文档中输入以下行:
document.getElementById("demo").innerHTML = "Hello World!";
我们将找到DOM API(方法和适当),没有任何JavaScript的痕迹
DOM和JavaScript之间的关系是什么,为什么总是一起出现而我感觉不到JavaScript的痕迹,如果脚本发生在HTML文档中我发现所有API DOM工具(方法和适当),我无法触及JavaScript在我们的HTML文档中工作
答案 0 :(得分:1)
尽管这篇文章目前处于-3分并且措辞不佳,但我认为我可以解决海报提出的问题,并试图回答这个问题。希望社区不会因为回答一个负面评分的问题而惩罚我。
是的,您显然对JavaScript语言的构成和构成DOM API之间的定义和关系存在一些混淆。
JavaScript是编程语言。它具有函数,继承,变量,操作等等。
function addTwo(num) {
return num + 2;
}
var eight = addTwo(6);
console.log(eight); // logs 8
它有一些很酷的功能,其他一些语言不像一等公民的功能。我们不会在这里报道。
虽然JavaScript可以在几个不同的环境中运行,但它最初是为了在 Web浏览器中编写脚本而编写的。它是浏览器可以执行的唯一脚本语言(可能有一些例外,这里不重要)。 DOM (Document-Object Model)是接口,JavaScript可以通过该接口与网页中显示的文档和节点进行交互。它允许您获取页面上的元素,操作它们,创建它们,删除它们等。当您与DOM交互时,您在JavaScript中这样做。它只是JavaScript可用于操作文档的API,不是单独的语言本身。
希望这能为您解决问题。另请注意,JavaScript并未降级到浏览器 - 最常见的JavaScript环境是NodeJS,它允许各种有趣的工具,如工具或使用JavaScript编写后端代码。
This page from the Mozilla Developer Network优雅地描述了这种区别:
...它是用JavaScript编写的,但它使用DOM来访问文档及其元素。 DOM不是一种编程语言,但没有它,JavaScript语言就不具备网页,HTML文档,XML文档及其组成部分(例如元素)的任何模型或概念。
(另外,世界可能不像我在这里拼写的那样是100%黑白。可能有边缘情况可以让其他语言在浏览器中运行,或者可能有在DOM中使用Web Assembly进行交互的一些方法,这对于场景来说是相对较新的。我在这里简单地说明了最简单的案例,可能涵盖了当今存在的绝大多数场景。但是,this页面来自MDN确实提供了使用Python与DOM交互的示例。)