- JavaScript历史回顾
JavaScript诞生时的主要目的: 处理以前由服务器语言负责的一些输入验证操作。
- JavaScript简史
在随后几年里,web日益流行,三个不同的JavaScript版本接连被三大公司开发出来,没有标准规定JavaScript的语法和特性。
最后,ECMA中的TC39完成了ECMA-262——定义一种名为ECMAscript的新脚本语言的标准。
自此以后,浏览器开发商致力于将ECMAscript作为各自JavaScript实现的基础。
- JavaScript实现
JavaScript:1、核心(ECMAscript) 2、文档对象模型(DOM) 3、浏览器对象模型(BOM)
3.1
ECMAscript定义的只是JavaScript的基础,而在此基础之上可以构建更完善的脚本语言。
web浏览器只是ECMAscript实现可能的宿主环境之一。
宿主环境不仅提供基本的ECMAScript实现,同时也会提供JavaScript的扩展,以便语言与环境之间对接交互。
而这些扩展——如DOM,则利用ECMAscript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。
ECMAScript规定了JavaScript的下列组成部分:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
对象
ECMA-262第一版本质上与JavaScript1.1相同——只不过删除了所有针对浏览器的代码并做了一些较小的改动:ECMA-262要求支持Unicode标准(从而支持多语言开发)。
ECMA-262第2版主要是编辑加工的结果。一般不使用第二版来衡量ECMAScript实现的兼容性。
ECMA-262第3版才是对该标准第一次真正的修改。修改的内容涉及字符串处理、错误定义和数值输出。还新增了对正则表达式、新控制语句、try-catch异常处理的支持,并围绕标准的国际化做出一些小的修改。
ECMA-262第五版澄清第3版中已知的歧义并增添了新的功能。新功能包括原生JSON对象(用于解析和序列化JSON数据)、继承的方法和高级属性定义。另外还包含一种严格模式,对ECMAScript引擎解释和执行代码进行补充说明。
3.2
ECMAScript兼容的定义:支持ECMA-262描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;
- 支持Unicode;
- 添加ECMA-262没有描述的“更多类型、值、对象、属性和函数”(新增特性主要是指该标准中没有规定的新对象和对象的新属性。);
- 支持ECMA-262没有定义的“程序和正则表达式语法”(也就是说,可以修改和扩展内置的正则表达式语法);