1-2. JS语言概述
- JS语言的一些历史
- JS语言的起源
网景(Netscape Communication Corperation),1994年,推出第一款商用浏览器,网景浏览器(Netscape Navigator). 1995年,网景公司决定在浏览器中加入一门语言,可以作交互效果,提高用户体验。最终决定独立开发一门新的语言,聘请Brendan Eich,10天后,新的语言诞生 LiveScript -> JavaScript (JS)
JS语言之父:Brendan Eich
- 第一次浏览器大战
网景公司打算在浏览器中加入网络操作系统,影响到微软的利益,引起了微软的注意. 1995年,微软发布IE浏览器。JS语言推出之后,网景获得极大的竞争优势。微软对JS语言反编译,借鉴JS语言,推出了JScript、VBScript. 第一次浏览器大战是标准之争. 1997,网景公司将javascript1.1版本提交给ECMA(European Computer Manufacturers Association 欧洲计算机制造协会)IE3发布,并绑定windows操作系统。1998年,网景公司,被收购。ECMA收录了JavaScript,并提交给ISO,经过修改,成为了第一个JS的标准版本,成为ECMAScript,简称ES。
- 第二次浏览器大战
IE4、IE5、IE6(windows xp)。 微软决定解散浏览器团队。Brendan Eich,带领团队成立Mozilla基金会,并决定,将网景浏览器开源。长时间内,世界的技术爱好者,对网景浏览器,进行维护和打补丁 2002,Mozilla推出firefox浏览器。2008,谷歌推出chrome浏览器,苹果推出safari,ASA公司推出opera. chrome浏览器搭载JS执行引擎V8(V8引擎,可以将JS代码直接转换为字节码,理论上,JS代码的执行速度已经接近汇编语言)于是,JS具备了编写大型应用程序的能力,甚至服务器应用。
V8的出现
将JS的执行推向了一个新的台阶;
Ryan Dahl 准备写一个服务器端的框架,直接利用V8引擎完成了该框架,该框架就是咋们后期所要学习的 nodejs;
。。。
ES标准的发展
- ES1,1997年
- ES2,1998年
- ES3,1999年
- ES5,2009年,习惯上,不再区分 javascript (JS) 和 ECMAScript (ES)
- ES6,2015年,ECMA宣布,从ES6开始,使用年号作为版本号,ES6的真正称呼为:ES2015
- ES7,2016年,ES2016
ES制定语言标准,不涉及语言的运行环境。正是因为ES避免了运行环境,就让ES有机会在各种环境中执行,从而让ES成为了通用编程语言。比如本课程所使用的编译器 VScode 就是用 js 写的。本课程学习的是:ES的通用语法、浏览器环境为其注入的新功能。通常,把ES运行的环境称之为:宿主环境 (host environment) 。本课程涉及的宿主环境是在 “浏览器” 这个宿主环境上的;之后还会有 “服务器”、“手机端” 等宿主环境。
- JS语言的一些特点
- JS是 弱类型语言 而非 强类型语言
- JS是 解释型语言 而非 编译型语言
- JS是 单线程的
弱类型语言 和 强类型语言
弱类型:存放的数据类型可变。
- 优点:灵活、易上手
- 缺点:不严谨
强类型:存放的数据类型不可变。
- 优点:严谨
- 缺点:不灵活、不易上手
解释型语言 和 编译型语言
常见的解释型语言: js、php。解释型语言没有编译结果;
- 优点: 跨平台、部署简单;
- 缺点: 执行速度稍慢;
常见的编译型语言:C语言、C++、java语言、C#语言。编译型语言会经过一个翻译的过程,负责翻译的工具叫做编译器,翻译的结果,叫做编译结果。
- 优点:执行速度快;
- 缺点:某个编译结果,难以适用于各种环境(跨平台障碍),部署繁琐;
通常,将弱类型的解释型语言,称为脚本语言 (如 js 就是脚本语言)
同步 和 异步
- 同步现象:上一件事情没有做完,下一件事情必须等待。
- 异步:提高单线程的执行效率。
