JavaScript发展历程中,有哪些关键节点和人物至今仍被广泛讨论?

摘要:一、JavaScript发展历程 1. 诞生 ​	JavaScript因互联网而生,紧跟浏览器的发展而发展。 ​	1990年,欧洲核能研究所(CERN)科学家在互联网(Internet)基础上,发明了万维网(
一、JavaScript发展历程 1. 诞生 ​ JavaScript因互联网而生,紧跟浏览器的发展而发展。 ​ 1990年,欧洲核能研究所(CERN)科学家在互联网(Internet)基础上,发明了万维网(World Wide Web),从此可以再网上浏览网页文件。(互联网是线路、协议以及通过TCP、IP协议实现数据电子传输的硬件和软件的集合体。Internet提供的主要服务有万维网WWW、文件传输FTP、电子邮件E-mail、远程登录Telnet等。万维网则存在于互联网之上,是由无数个网络站点和网页集合而成,构成了因特网主要的部分。如果把互联网看成是基础,万维网就可以被看成是对互联网的应用) ​ 1992年,美国国家超级电脑应用中心(NCSA)开发了人类历史上第一个浏览器Mosaic。 ​ 1994年,NCSA的程序员联合一个风投家成立Mosaic通信公司,后来更名为Netscape。开发面向普通用户的新一代浏览器Netscape Navigator1.0版,市场份额一举超过90%。 ​ Netscape公司很快发现,浏览器需要一种可以嵌入网页的脚本语言来控制页面行为。因为那时网速很慢而且网费很贵,有些操作不需要在服务端完成,可以把这些操作在浏览器端完成,从而提高效率。他们对这项脚本语言的设想是:功能不需要太强,语法简单,容易学习和部署。 恰逢Sun公司java问世,两家公司强强联合,NetScript公司希望借助Java语言的声势,Sun公司则将自己的影响力扩展到浏览器,1995年,他们雇佣程序员十天时间就设计完成了这种语言的第一版,命名为JavaScript,对外宣称JavaScript是Java的补充。 基本语法:借鉴C语言和Java语言 数据结构:借鉴Java语言,包括将值分为原始值和对象两大类 函数用法:借鉴Schema语言和AWK语言,引入闭包 原型继承模型:借鉴Self语言 正则表达式:借鉴Perl语言 字符串和数组处理:借鉴Python语言 2. JavaScript与Java的关系 ​ JavaScript的基础语法和对象体系,是模仿Java而设计的。 ​ JavaScript语言的函数是一种独立的数据类型以及基于原型对象的继承链,是与java语法最大的两点区别。 ​ JavaScript不需要编译,由解释器直接执行。 3. JavaScript与ECMA的关系 ​ 1996年,微软模仿JavaScript开发了一门相近的语言JScript,内置于IE3.0,Netscape公司面临丧失浏览器脚本语言的主导权局面。胳膊拗不过大腿,Netscape又找了个大哥-国际标准化组织ECMA(European Computer Manufacture Association)来抵抗微软。 ​ 1997年,ECMA组织发布262号标准文件(ECMA-262),里面规定了浏览器脚本语言的标准,并将这种语言成为ECMAScript。 4. JavaScript的版本 ​ 1997年,ECMAScript 1.0发布。 ​ 1998年,ECMAScript 2.0发布。 ​ 1999年,ECMAScript 3.0发布。 ​ 2007-2009年,ECMAScript 4.0草案发布,对3.0版本做了大幅升级,但是草案过于激进,各方发生严重分歧,中止4.0的开发,将其中涉及现有功能改善的一小部分,发布为ECMAScript 3.1,会后不久,改名为ECMAScript 5。 ​ 2011年,EMAScript 5.1发布,并成为ISO国际标准,到了2012年,所有主要浏览器都支持ECMAScript 5.1的全部功能。 ​ 2013-2015年,讨论发布ECMAScript 6,并于2015年正式发布ECMAScript 6,更名为ECMASCript 2015。 5. 拓展-因特网标准制定(RFC) 因特网草案(Internet Draft) 建议标准,从这个阶段开始就成为RFC文档(Proposed Standard) 草案标准(Draft Standard) 因特网标准(Internet Standard) 二、JavaScript模块化发展历程 ​ 模块化是指把一个复杂的系统分解到一个一个的模块,优点有: ​ ①代码复用,更方便的进行代码管理,同时方便于后面代码的修改和维护 ​ ②一个单独的文件就是一个单独的模块,一个单独的作用域。只向外暴露特定的变量和函数,可以避免污染全局变量。 1. 无模块化 ​ Ajax出现之前,JS更多的用来在网页上进行表单验证,实现简单的动画效果。
阅读全文