JS语言简史与概述


JS语言概述

JS语言简史

  1. JS语言的起源

网景(Netscape Communicati

on Corperation),1994年,推出第一款商用浏览器,网景浏览器(Netscape Navigator)

1995年,网景公司决定在浏览器中加入一门语言,可以作交互效果,提高用户体验。

最终决定独立开发一门新的语言,聘请Brendan Eich,10天后,新的语言诞生

LiveScript -> JavaScript (JS)

JS语言之父:Brendan Eich

  1. 第一次浏览器大战

网景公司打算在浏览器中加入网络操作系统,影响到微软的利益,引起了微软的注意

1995年,微软发布IE浏览器。

JS语言推出之后,网景获得极大的竞争优势。

微软对JS语言反编译,借鉴JS语言,推出了JScript、VBScript

第一次浏览器大战是标准之争

1997,网景公司将javascript1.1版本提交给ECMA(欧洲计算机制造协会)

IE3发布,并绑定windows操作系统。

1998年,网景公司,被收购。

ECMA收录了JavaScript,并提交给ISO,经过修改,成为了第一个JS的标准版本,成为ECMAScript,简称ES

ECMAScript

  • 两个公司的两个版本的javascript语言备受业界关注,ECMA协会制定了一个名为ECMAScript的标准。
  • ECMA定义的只是这门语言的基础,在此基础上可以构建更加完善的脚本语言。
  • web浏览器只是ECMAScript实现的宿主环境之一,宿主环境提供基本的ECMAScript的实现,同时也会提供扩展,例如DOM,其他的宿主环境还有(node)
  • ECMA标准没有参照浏览器,而是规定了语言的语法,类型,语句,关键字,保留字,操作符,对象。
  • ECMAScript就是对实现了该标准的规定的各个方面内容的语言的描述(javascript和ActionScript都实现了该标准)
  • ECMAScript的前两个版本没有很多重要的变化,第三个版本才是一次真正意义上的修改涉及到了很多内容,因此第三版标志着ECMAScript成为了一门真正的编程语言
  • 2009年发布了ECMAScript的第五个版本。
  1. 第二次浏览器大战

IE4、IE5、IE6(windows xp)

微软决定解散浏览器团队。

Brendan Eich,带领团队成立Mozilla基金会,并决定,将网景浏览器开源。

长时间内,世界的技术爱好者,对网景浏览器,进行维护和打补丁

2002,Mozilla推出firefox浏览器。

2008,谷歌推出chrome浏览器,苹果推出safari,ASA公司推出opera

chrome浏览器搭载JS执行引擎V8(V8引擎,可以将JS代码直接转换为字节码,理论上,JS代码的执行速度已经接近汇编语言)

于是,JS具备了编写大型应用程序的能力,甚至服务器应用

Ryan Dahl 准备写一个服务器端的框架,直接利用V8引擎完成了该框架,该框架,称为nodejs

V8引擎,将JS的执行推向了一个新的台阶

  1. 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称为了通用编程语言

通常,把ES运行的环境称之为,宿主环境

JS语言特性

  1. 解释型语言

编译型语言:C语言、C++、java语言、C#语言

编译型语言会经过一个翻译的过程,负责翻译的叫做编译器,翻译的结果,叫做编译结果。

优点:执行速度快
缺点:某个编译结果,难以适用于各种环境(跨平台障碍);部署繁琐;

解释型语言:js、php

解释型语言没有编译结果

优点:跨平台;部署简单;
缺点:执行速度稍慢

  1. 弱类型语言

弱类型:存放的数据类型可变。优点:灵活、易上手; 缺点:不严谨

强类型:存放的数据类型不可变。优点:严谨;缺点:不灵活、不易上手

通常,将弱类型的解释型语言,称为脚本语言

  1. 单线程

同步现象:上一件事情没有做完,下一件事情必须等待。

  1. 异步

提高单线程的执行效率。


文章作者: overwhat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 overwhat !
评论
  目录