学习内容
1、文档
菜鸟教程 :https://www.runoob.com/js/js-tutorial.html
廖雪峰的官方网站: https://www.liaoxuefeng.com/wiki/1022910821149312
ES6入门教程 :https://es6.ruanyifeng.com/#README
2、在线编辑器
菜鸟教程在线编辑器:https://www.runoob.com/try/try.php?filename=tryjs_events
3、JavaScript的来源
关键词 :网景公司 、布兰登·艾奇 、大约两周 、JavaScript
在1994年,当时的 网景公司(Netscape)凭借Navigator这个浏览器成为了Web时代开启最著名的第一代的互联网公司。但最早版本的浏览器整个都是静态的,也就是用HTML和CSS写的,并没有像今天的各种浏览器一样具有各种各样的动态效果了,比如像网页的图片轮播、鼠标悬浮切换等效果。网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。这时候网景公司出来一个很牛的人物叫布兰登·艾奇,他用不到两周的时间就设计出了能在网页上实现动态效果的编程语言。
为什么会命名为JavaScript呢?原因是在当时,Java非常火,网景公司希望借用Java在当时的名气来进行推广。其实事实上呢,JavaScript除了语法上有点像Java外,别的地方都跟Java没有任何关系。
布兰登·艾克的设计思路是这样的:
1)借鉴C语言的基本语法;
2)借鉴Java语言的数据类型和内存管理;
3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
4)借鉴Self语言,使用基于原型(prototype)的继承机制。
所以,Javascript语言实际上是两种语言风格的混合产物:(简化的)函数式编程+(简化的)面向对象编程。这是由布兰登·艾克(函数式编程)与网景公司(面向对象编程)共同决定的。
4、ECMAScript 和 JavaScript 的关系
JavaScript由网景公司的布兰登·艾奇开发出来的,一年后,微软又模仿JavaScript开发出了一种编程语言叫JScript,再后来,陆续又有别的商家推出JavaScript的不同实现语言。这就导致JavaScript的语法和特性日益混乱,其标准化问题被提上日程。最终由欧洲计算机制造商协会(ECMA)以JavaScript1.1为蓝本,制定了【ECMA-262】标准(即ECMA 发布 262 号标准文件(ECMA-262)的第一版),并由此标准定义了一种新脚本语言ECMAScript。随后,ISO也采用ECMAScript作为标准,各浏览器厂商便纷纷开始将ECMAScript作为各自JavaScript实现的基础。
之所以不叫 JavaScript,有两个原因。一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,且 JavaScript 本身也已经被 Netscape 公司注册为商标。二是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。
ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现。
5、ES6 与 ECMAScript 2015 的关系
2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。因此,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。
但是,因为这个版本引入的语法功能太多,而且制定过程当中,还有很多组织和个人不断提交新功能。事情很快就变得清楚了,不可能在一个版本里面包括所有将要引入的功能。常规的做法是先发布 6.0 版,过一段时间再发 6.1 版,然后是 6.2 版、6.3 版等等。
但是,标准的制定者不想这样做。他们想让标准的升级成为常规流程:任何人在任何时候,都可以向标准委员会提交新语法的提案,然后标准委员会每个月开一次会,评估这些提案是否可以接受,需要哪些改进。如果经过多次会议以后,一个提案足够成熟了,就可以正式进入标准了。这就是说,标准的版本升级成为了一个不断滚动的流程,每个月都会有变动。
标准委员会最终决定,标准在每年的 6 月份正式发布一次,作为当年的正式版本。接下来的时间,就在这个版本的基础上做改动,直到下一年的 6 月份,草案就自然变成了新一年的版本。这样一来,就不需要以前的版本号了,只要用年份标记就可以了。
ES6 的第一个版本,就这样在 2015 年 6 月发布了,正式名称就是《ECMAScript 2015 标准》(简称 ES2015)。2016 年 6 月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小(只新增了数组实例的includes方法和指数运算符),基本上是同一个标准。根据计划,2017 年 6 月发布 ES2017 标准。
因此,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。
6、JavaScript的组成部分
- ECMAScript:描述了该语言的语法和基本对象
- 文档对象模型(DOM):描述处理网页内容的方法和接口
- 浏览器对象模型(BOM):描述与浏览器进行交互的方法和接口
参考文档来源
JavaScript的历史由来及简介: https://www.cnblogs.com/zyx110/p/13019121.html
ECMAScript 6 入门:https://es6.ruanyifeng.com/#docs/intro