导读
此篇文章为作者拜读JavaScrpit 第四版(红宝石)的笔记内容、适用于有经验的程序员阅读;作者 java开发出身。在之前前后端不分离的时代 使用esayUI JQuery的时代 经常写 js相关代码。现在前后端分离的时代;前端工程日新月异、各种框架层出不穷;万变不离其中;学好js 才是根本;很喜欢并且很认同的一句话。工业革命是钢铁造就的。互联网革命是JavaScript造就的。以下为文章为读这本书的总结;没有太多杂乱篇幅、只有干货。不适合入门的程序员观看。
了解JavaScript
1995年问世,先后更名 Mocha 、LiveScript、JavaScript 前期隶属网景公司;由Brendan Eich 的工程师开发。语法参考C。用于解决当时28.8kbit/s 的调制解调器上网表单验证的问题。JavaScript 还没有规范其语法或特性的标准 1997 年,JavaScript 1.1 作为提案被提交给欧洲计算机制造商协会(Ecma)。1998 年,国际标准化组织(ISO)和国际电工委员会(IEC)也将 ECMAScript 采纳为标准(ISO/IEC-16262)。自此以后,各家浏览器均以 ECMAScript 作为自己 JavaScript 实现的依据,虽然具体实现各有不同。
JavaScript 与 ECMAScript ?
ECMAScript,即 ECMA-262 定义的语言,并不局限于 Web 浏览器。JavaScript 是脚本语言。而ECMAScript一个是规范标准。ECMA-262 将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。
Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境。通俗点来说。ECMAScript为宏观的抽象的概念。只要实现了ECMAScript 的基准实现和与环境自身交互必需的扩展就可以。
可以理解为:
```
举例:车是一个概念、想到车就会知道 它存在 车灯、车轮。驾驶座 等;
车 = ECMAScript
种类(客车、火车 = NodeJs 或 Adobe Flash 或者 Web 浏览器
品牌 = 以上平台的版本或Web浏览器不同的厂商
```
ECMA-262 到底定义了什么?在基本的层面,它描述这门语言的如下部分:
语法、 类型、语句、关键字、保留字、操作符、全局对象
ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了ECMAScript,而 Adobe ActionScript 同样也实现了 ECMAScript。
ECMAScript 版本
ECMAScript 不同的版本以“edition”表示 就是我们常说的 ES5 ES6 .... 举例来说 ES5 全称为:ECMA-262 第五版 ;详细介绍参考:https://juejin.cn/post/7109378925964296223
JavaScript 实现
虽然 JavaScript和 ECMAScript 基本上是同义词,但 JavaScript远远不限于 ECMA-262 所定义的那样。没错,完整的 JavaScript 实现包含以下几个部分(见图 1-1):
小片总结
JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。
- ECMAScript:由 ECMA-262 定义并提供核心功能。
- 文档对象模型(DOM):提供与网页内容交互的方法和接口。
- 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对 Level 3 的支持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分公共特性。