实现JavaScript的三个部分
JavaScript实现
一个完整的JavaScript实现应该由三个不同的部分组成
-
核心(ECMAScript)
- 由 ECMA-262 定义的 ECMAScript 与 Web 浏览器没有依赖关系
- 常见的 Web 浏览器只是 ECMAScript 实现可能的宿主环境之一
- ECMAScript 语言扩展(如DOM)则利用 ECMAScript 的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作
- 其他宿主环境包括 Node.js 和 Adobe Flash
- JavaScript 实现了 ECMAScript,Adobe ActionScript 同样也实现了 ECMAScript
- JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象
-
文档对象模型(DOM)
-
文档对象模型(DOM)是针对 XML 但经过扩展用于 HTML 的应用程序编程接口
-
DOM 提供操作和访问网页内容的方法和接口
-
DOM Level 1
-
DOM 核心
- 规定的是如何映射基于 XML 的文档结构,以便简化对文档中任意部分的访问和操作
-
DOM HTML
- 在 DOM 核心的基础上加以扩展,添加了针对 HTML 的对象和方法
-
-
DOM Level 2
-
DOM 视图
- 定义了跟踪不同文档视图的接口
- 即 CSS 样式化之前和 CSS 样式化之后的文档
-
DOM 事件
- 定义了事件和事件处理的接口
-
DOM 样式
- 定义了基于CSS为元素应用样式的接口
-
DOM 遍历和范围
- 定义了遍历和操作文档树的接口
-
-
DOM Level 3
-
DOM 加载和保存模块
- 以统一方式加载和保存文档的方法
-
DOM 验证模块
- 验证文档的方法
-
开始支持 XML1.0 规范,涉及 XML Infoset、XPath 和 XML Base
-
-
-
浏览器对象模型(BOM)
-
BOM 提供与浏览器交互的方法和接口
-
人们习惯把所有针对浏览器的 JavaScript 扩展算作 BOM 的一部分
- 弹出新浏览器窗口的功能
- 移动、缩放和关闭浏览器窗口的功能
- 提供浏览器详细信息的 navigator 对象(定位对象)
- 提供浏览器所加载页面的详细信息的 location 对象
- 提供用户显示器分辨率详细信息的 screen 对象
- 对 cookie 的支持
- 像 XMLHttpRequest 和 IE 的 ActiveXObject 这样的自定义对象,可以通过 JavaScript 实例化 ActiveX 对象
-
从现在开始,种下梦想中的参天大树