HTML 定义网页的结构与内容,CSS 定义其格式与样式,而 JavaScript 则为网页增加可交互性,创作功能丰富的 Web 应用。但是,如果从浏览器的范畴去理解“JavaScript”这个术语,它包含了截然不同的两个方面。一方面是 JavaScript 的核心语言(ECMAScript),另一方面是大量的 Web API (en-US),包括 DOM(文档对象模型)。
在为Web编写代码时,有大量的Web API可用。在开发Web应用程序或网站时可以使用Web API和接口(对象类型),且通常与JavaScript一起使用,尽管情况并非总是如此。
HTML DOM API 由一系列接口组成,它们定义了 HTML 中每个元素的功能,以及它们所依赖的任何支持类型和接口。HTML DOM API 的功能包括:
通过 DOM 访问和控制 HTML 元素。
访问和操作表单数据。
与 2D 图像的内容,以及 HTML <canvas> 元素的上下文进行交互,例如在其上绘制。
管理连接到 HTML 媒体元素的媒体(<audio> 和 <video>)。
在网页上拖放内容。
访问浏览器导航历史记录。
支持和关联其他 API 的接口,例如 Web 组件、Web Storage、Web Worker、WebSocket 和 Server-sent 事件。
重点关注与 HTML 元素交互的 HTML DOM 部分。
其他领域的讨论,例如拖放、WebSocket、Web Storage 等,可以在这些 API 的文档中找到。
文档对象模型 (DOM) 将 web 页面与到脚本或编程语言连接起来。通常是指 JavaScript,但将 HTML、SVG 或 XML 文档建模为对象并不是 JavaScript 语言的一部分。DOM 模型用一个逻辑树来表示一个文档,树的每个分支的终点都是一个节点 (node),每个节点都包含着对象 (objects)。DOM 的方法 (methods) 让你可以用特定方式操作这个树,用这些方法你可以改变文档的结构、样式或者内容。节点可以关联上事件处理器,一旦某一事件被触发了,那些事件处理器就会被执行。
文档对象模型(DOM)是一个网络文档的编程接口。它代表页面,以便程序可以改变文档的结构、风格和内容。DOM 将文档表示为节点和对象;这样,编程语言就可以与页面交互。网页是一个既可以在浏览器窗口中显示,也可以作为 HTML 源代码的文档。在这两种情况下,它都是同一个文档,但文档对象模型(DOM)的表示方式使它可以被操作。作为一个面向对象的网页表示,它可以用脚本语言(如 JavaScript)进行修改。
参见:
ECMAScript® 2022 Language Specification