一个完整的JavaScript实现由下列三个不同的部分组成
- 核心(ECMAScript)
- 文档对象模型(DOM)
- 浏览器对象模型(BOM)
-----------------------------------------
| JavaScript |
| ------------ ---------- ----------- |
| |ECMAScript| | DOM | | BOM | |
| ------------ ---------- ----------- |
----------------------------------------|
我们常见的Web浏览器只是ECMAScript实现可能的宿主环境之一。宿主环境不仅提供基本的DOM,同时也会提供该语言的扩展,以便语言与环境之间对接交互。而这些扩展----如DOM,则利用ECMAScript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。其他环境包括Node...等
ECMAScript
ECMAScript规定了JS的下列组成部分:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
文档对象模型(DOM)
文档对象类型(DOM , Document Object Model)针对XML但经过扩展用于HTML的API。DOM把整个页面映射为一个多层节丶结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
<html>
<head>
<title>DOM</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
在 DOM 中,这个页面可以通过所示的分层节点表示。
通过 DOM 创建的这个表示文档的树形图,开发人员获得了控制页面内容和结果的主动权。借助 DOM 提供的 API,开发人员可以轻松自如地删除、添加、替换或者修改任何节点。
浏览器对象模型(BOM)
开发人员可以使用浏览器对象模型(BOM,Browser Object Model)来控制浏览器显示的页面以外的部分。
JS扩展:
- 弹出新浏览器窗口的功能
- 移动、缩放和关闭浏览器窗口的功能
- 提供浏览器详细信息的navigator对象
- 提供浏览器所加载页面的详细信息的location对象
- 提供用户显示器分辨率详细信息的screen对象
- 对cookies的支持
- 像XMLHttpRequest和IE的ActiveXObject 这样的自定义对象