JavaScript是一种专为网页交互而设计的脚本语言,JavaScript的实现由核心ECMAScript、文档对象模型DOM以及浏览器对象模型BOM组成,如图
ECMAScript
ECMAScript,由ECMA-262定义,提供核心语言功能,通常说的ECMAscript其实指的是JavaScript,因为JavaScript的含义要比ECMAScript规定的要多得多,而ECMAScript仅仅只是定义了这门语言的基础.通常的WEB浏览器只是ECMAScript的宿主环境之一,而宿主环境不仅
包含了ECMAScript的基本实现,还提供了额外的拓展,例如DOM.
ECMAScript具体包含了 :
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
文档对象模型DOM
文档对象模型是针对XML但经过拓展用于HTML的应用程序编程接口(API),DOM把整个页面映射成一个多层节点结构,HTML中的每个组成部分都是某种类型的节点,这些节点又包含不同的数据,DOM的主要作用就是提供访问和操作网页的方法和接口
DOM级别
DOM1级由两个模块组成:DOM core(映射基于XML的文档结构) 和DOM HTML(拓展了针对HTML的对象和方法),DOM1的主要目的就是为了映射文档的结构.
DOM2级则引入了许多新的模块:
- DOM视图(DOM Views): 定义了跟踪不同文档视图接口
- DOM事件(DOM Events): 定义了事件和事件处理的接口
- DOM样式(DOM Style): 定义了基于CSS为元素应用样式的接口
- DOM遍历和范围(DOM Traversal and Range): 定义了遍历和操作文档树的接口
DOM3进一步拓展了DOM,引入了以统一方式加载和保存文档的方法和新增了验证文档的方法
浏览器对象模型BOM
从根本上讲,BOM只处理浏览器窗口和框架,但人们习惯上把所有针对浏览器的Javascript拓展算作BOM的一部分,BOM主要用来提供与浏览器交互的方法和接口
比如:
- 弹出新浏览器窗口的功能
- 移动,缩放和关闭浏览器的功能
- 提供浏览器详细信息的navigator对象
- 提供浏览器所加载页面的详细信息的location对象
- 提供用户显示器分辨率详细信息的screen对象
- 对cookies的支持
- XMLHttpRequest和ActiveXObject