JavaScript 对象与 DOM 对象

标签 javascript dom

这可能是一个愚蠢的问题,但是当我搜索答案时,我得到了有关对象数组的 jQuery 结果。我还没到那一步,想了解 javascript 本身如何与 DOM 交互。

如果我没记错的话,DOM 是一个创建并用于渲染 HTML 的对象树? javascript 也有同名的对象。例如:窗口、文档和带有 id 的元素...这些是相同的对象吗?

我读到 javascript 是 HTML5 的一部分,这是因为 javascript 对象实际上是 DOM 对象,并且 javascript 语言是围绕 DOM 构建的吗?如果是这样,怎么可能在没有 DOM 的情况下使用 javascript 呢? - 例如,你如何制作桌面应用程序?我使用一个名为“brackets”的程序,它是用 javascript 编码的。

最佳答案

我认为 MDN 有一个很好的定义:

The Document Object Model (DOM) is an API for manipulating HTML and XML documents. It provides a structural representation of the document, enabling you to modify its content and visual presentation by using a scripting language such as JavaScript.

所以 DOM 是一个 API 的规范,可用于在网页中选择、操作和创建新元素,通过 an API .

通过允许我们访问实现 DOM API 特定部分的 JavaScript 对象,该 API 对我们 JavaScript 开发人员来说是可见的(或公开的)。 p>


window元素是其中之一;如MDN says

The window object implements the Window interface, which in turn inherits from the AbstractView interface.

  • window是 JavaScript 对象 window
  • ...它实现了 DOM Window界面
  • ...在幕后(我们并不真正关心这一点)继承了 AbstractView接口(interface)。

但是,以及实现 DOM Window接口(interface),window还公开了几种 JavaScript 类型和函数;不属于 Window 的一部分接口(interface),但存在于 window对象。

  • 所有类型; window.String , window.Object , window.Array .
  • Math
  • ...

正如您特别提到的document ; document DOM 的一部分Window界面,可以看到listed here .


简而言之,任何涉及选择、操作和创建 HTML 元素的内容通常都是 DOM 的一部分。


HTML5是最新的HTML标准,它添加了新的HTML元素,例如<audio><video>标签。 DOM API 已更新,允许 API 控制这些新元素。

反过来,实现这些 API 的 JavaScript 对象也必须更新。


JavaScript 是一种编程语言。 DOM 可以被认为是一个框架或库,它可以让您通过 JavaScript 控制 HTML。

JavaScript 可以完全独立使用,无需这个;这正是 NodeJS 和 Brackets 等环境中发生的情况。

关于JavaScript 对象与 DOM 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24077598/

相关文章:

javascript - 如何求一系列数字的最小公倍数?

javascript - 连接到 HTML5 应用程序的外部服务器

javascript - 使用 Deezer API 向未登录用户播放完整音乐

dom - 使用 Selenium 自动点击 JavaScript 链接

javascript - 选择隐藏其子元素的父元素

java - 在 DOM 中搜索特定文本

javascript - 使用 vanilla JS 编译和渲染 Handlebars 模板

javascript - Gatsby.js - Express 服务器的代理

java - 操纵 XML 元素属性的顺序

Javascript:如何取消 surroundContents 范围