来自红宝书的笔记:
JavaScript的实现应该由下面三个不同的部分组成
- 核心:ECMAScript,提供核心语言功能
- 文档对象模型:DOM,提供访问和操作网页内容的方法和接口
- 浏览器对象模型:BOM,提供与浏览器交互的方法和接口
ECMAScript ECMAScript的组成部分:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
ECMAScript的版本
版本号 | 更新内容 |
---|---|
第一版 | 删除了所有针对浏览器代码并作了一些较小的改动:ECMA-262要求支持Unicode标准,对象变成了无关平台。 |
第二版 | 主要编辑加工的结果。没有作任何新增、修改或删节处理。 |
第三版 | 修改的内容涉及字符串处理、错误定义和数值输出。新增对正则表达式、新控制语句、try-catch异常处理的支持,并围绕标准的国际化做出一些小的修改。作用:标志着ECMAScript成为了一门真正的编程语言。 |
第四版 | 全面的检核修订、出台后的标准几乎在第三版基础上完全定义了一门新语言。第四版不仅包含了强类型变量、新语句和新数据结构、真正的类和经典继承,还定义了与数据交互的新方式。 |
第五版 | 力求澄清第三版中已知的歧义并增添了新的功能。新的功能包括原生的JSON对象(用于解析和序列化JSON数据)、继承的方法和高级属性定义,另外还包含一种严格模式,对ECMAScript引擎解释和执行代码进行了补充说明。 |
ECMAScript兼容
- 支持ECMA-262描述的所有“类型、值、对象、属性、函数以及程序句法和语义”
- 支持Unicode字符标准
此外兼容的实现还可以进行下列扩展
- 添加ECMA-262没有描述的“更多类型、值、对象、属性和函数”。ECMA-262所说的这些新增特性,主要是指该标准中没有规定的新对象和对象的新属性。
- 支持ECMA-262没有定义的“程序和正则表达式语法”。(也就是说,可以修改和扩展内置的正则表达式语法。)
文档对象模型(DOM) 文档对象模型(DOM、Document、ObjectModel)是针对XML但经过扩展用于HTML的应用程序编程接口(API),DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据 通过DOM创建的这个表示文档的树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的API,开发人员可以轻松自如地删除、添加、替换或修改任何节点。
浏览器对象模型(BOM)
- 支持可以访问和操作浏览器窗口的浏览器对象模型(BOM,Browser Object Model)
- 作用:开发人员使用BOM可以控制浏览器显示的页面以外的部分.
- 本质:BOM只处理浏览器窗口和框架
扩展
- 弹出新浏览器窗口的功能;
- 移动、缩放和关闭浏览器窗口的功能
- 提供浏览器详细信息的navigator对象;
- 提供浏览器所加载页面的详细信息的location对象;
- 提供用户显示器分辨率详细信息的screen对象;
- 对cookies的支持;
- 像XMLHttpRequest和IE的ActiveXObject这样的自定义对象。