本文主要解决以下几个问题:
ES6、ES5是什么意思?和JavaScript有啥关系?
DOM是啥?
BOM是啥?
JavaScript的起源
1994年,网景公司(Netscape)发布了Navigator浏览器,当时非空校验只能发给服务端校验,在那个拨号上网的年代网速是比较慢的,这就导致用户交互非常耗时,为了解决这个问题,网景公司和Sun公司合作开发了JavaScript这一脚本语言,在当时大获成功。
ECMAScript的产生
由于JavaScript的大获成功,微软在当时的IE浏览器里也实现了类似的功能,其脚本语言叫JScript,同一功能在两个浏览器的实现完全不同,这就给当时的开发者带来了很大的兼容性困扰。为了解决这个问题,ECMS(欧洲计算机制造商协会,European Computer Manufacturers Association)定义了一套和平台实现无关的Script语言标准,也就是ECMAScript,后面主流浏览器(Chrome、FireFox、IE等)都基于此标准实现,解决了浏览器兼容问题。
关于ES6、ES5
ES6指的是就是ECMAScript的第6个版本标准,于2015年发布。
各版本发布时间及差异请看这里
DOM
DOM(文档对象模型,Document Object Model),是用于操作 HTML 和 XML 文档的编程接口标准,这个标准本身是W3C协会提出的,主流浏览器实现了这个标准,结合JavaScript的api,就可以实现很多复杂的功能。由于 W3C 开发更现代的 HTML 标准的速度缓慢,并且计划将 HTML 转换成一个名为 XHTML 的变体(具有类似 XML 的结构),浏览器厂商不赞同这种做法,所以,被称为 Web 超文本应用技术工作组(WHATWG)的组织于 2004 年成立,并于2019年和W3C达成合作,目前W3C DOM 和WHATWG DOM标准在绝大多数现代浏览器中都有对 DOM 的基本实现。
BOM
BOM(浏览器对象模型,Browser Object Model),是用于浏览器窗口管理及窗口通信的模型,目前没有统一的标准,各浏览器都有自己的实现。主流浏览器都提供了window、location、screen、navigator、history等api。可参看这篇文章