1、JavaScript实现
JavaScript组成
一个完整的 JavaScript 实现应该由下列三个不同的部分组成
- 核心(ECMAScript)
- 文档对象模型(DOM)
- 浏览器对象模型(BOM)
ECMAScript
ECMAScript规定了语法、类型、语句、关键字、保留字、操作符、对象
-
什么是ECMAScript兼容
要想成为 ECMAScript 的实现,则该实现必须做到:
-
支持 ECMA-262 描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;
-
支持 Unicode 字符标准。
此外,兼容的实现还可以进行下列扩展
-
添加 ECMA-262 没有描述的“更多类型、值、对象、属性和函数”。ECMA-262 所说的这些新增特性,主要是指该标准中没有规定的新对象和对象的新属性。
-
支持 ECMA-262 没有定义的“程序和正则表达式语法”。(也就是说,可以修改和扩展内置的正则表达式语法)
-
文档对象模型(DOM)
文档对象模型(DOM)是针对 XML 但经过扩展用于 HTML 的应用程序编程接口(API)。DOM 把整个页面映射为一个多层节点结构。HTML 或 XML 页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。通过DOM创建表示文档的树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的 API,开发人员可以轻松自如地删除、添加、替换或修改任何节点。
-
DOM级别
-
DOM1级
DOM核心(DOM Core):规定映射基于XML的文档结构
DOM HTML:针对HTML的对象和方法
-
DOM2级
DOM核心模块:支持XML命名空间
DOM 视图(DOM Views):定义了跟踪不同文档视图的接口
DOM 事件(DOM Events):定义了事件和事件处理的接口
DOM 样式(DOM Style):定义了基于 CSS 为元素应用样式的接口
DOM 遍历和范围(DOM Traversal and Range):定义了遍历和操作文档树的接口
-
DOM3级
DOM核心模块:支持XML1.0规范
DOM 加载和保存(DOM Load and Save):引入了以统一方式加载和保存文档的方法
DOM 验证(DOM Validation):新增了验证文档的方法
-
浏览器对象模型(BOM)
浏览器对象模型(BOM)支持访问和操作浏览器窗口,开发人员使用 BOM 可以控制浏览器显示的页面 以外的部分。从根本上讲,BOM 只处理浏览器窗口和框架;但人们习惯上也把所有针对浏览器的 JavaScript 扩展算作 BOM 的一部分。
下面就是一些这样的扩展:
-
弹出新浏览器窗口的功能
-
移动、缩放和关闭浏览器窗口的功能
-
提供浏览器详细信息的 navigator 对象
-
提供浏览器所加载页面的详细信息的 location 对象
-
提供用户显示器分辨率详细信息的 screen 对象
-
对 cookies 的支持
-
像 XMLHttpRequest 和 IE 的 ActiveXObject 这样的自定义对象