1.1 简短的历史回顾
JS问世于1995年,主要用途是代替Perl等服务器端语言处理输入验证。在网景之后微软进入了Web浏览器领域,推出ECMAScript作为标准。
1.2 JavaScript实现
完整的JavaScript实现包含以下几个部分:
1.2.1 ECMAScript
ECMAScript本身没有并不限于Web浏览器,Web浏览器只是ECMAScript实现可能存在的一种宿主环境,DOM这类扩展便是基于Web浏览器的。这门语言本身是没有输入和输出之类的方法的,所以Node.js才会提供相应的方法,ECMA-262不涉及浏览器,主要就是描述这门语言的语法、类型、关键字等等。ECMAScript只是对实现这个规范描述的所有方面的一门语言的称呼,除了JavaScript,Adobe ActionScript同样也实现了ECMAScript。
EMCAScript版本经历过多次变迁,其中ES6于2015年6月发布,正式支持了类、模块、迭代器、生成器、箭头函数、Promise、反射、代理和众多新的数据类型。
1.2.2 DOM
文档对象模型是一个应用编程接口(API),用于在HTML中使用扩展的XML。DOM是必需的原因——如果使用不同的标准开发DHTML,那么开发者所编写的HTML文档就不能具有移植性,不能在任何浏览器中都能运行。DOM Level1规范由DOM Core和DOM HTML组成,前者提供了一种映射XML文档,从而方便访问和操作文档任意部分的方式;后者扩展了前者,并增加了特定于HTML的对象和方法。
HTML DOM定义了用于HTML的一系列标准的对象,以及访问和处理HTML文档的标准方法。
1.2.3 BOM
浏览器对象模型,支持访问和操作浏览器的窗口