【JavaScript 02】万维网 Mosaic JS的语法来源 函数式编程 面向对象编程 prototype ECMAScript 周边生态 Ajax JSON jQuery V8 Node

JS

      • 王的诞生
      • Java and ECMAScript
      • JS的周边生态

王的诞生

1990年欧洲核能研究组织(CERN)科学家 Tim Berners-Lee,在全世界最大的电脑网络——互联网的基础上发明了万维网(World Wide Web),从此人类可以在网上浏览网页文件

1992年美国国家超级电脑应用中心(NCSA)开始开发一个独立的浏览器Mosaic。这是人类历史上第一个浏览器,从此网页可以在图形界面的窗口浏览

1995年Netscape公司雇佣了程序员 Brendan Eich 开发JS这种网页脚本语言。Brendan Eich 有很强的函数式编程背景,希望以 Scheme 语言——函数式语言鼻祖 LISP 语言的一种方言为蓝本实现这种新的语言

1995年5月Brendan Eich 只用了10天设计完成JS第一版,此时的JS的语法有多个来源

  • 基本语法借鉴C和Java
  • 数据结构借鉴Java,将值分为原始值和对象两大类
  • 函数借鉴Scheme和Awk,函数是JS的一等公民,同时引入闭包
  • 原型继承模型借鉴Self
  • 正则表达式借鉴Perl
  • 字符串和数组处理借鉴Python

同时为了保证简易,最初的这种脚本语言缺少一些关键功能如块级作用域,模块,子类型(subtyping)等,但可以利用现有功能实现解决方法
这也导致了后来的JS常常需要学习各种解决问题的模式而不是像其他语言一样学习语言本身的各种功能
由于其语法来源的多元性导致其编程风格注定是函数式编程和面向对象编程的混合风格

Java and ECMAScript

JS的基本语法和对象体系都是模仿Java设计的
但JS没有采用Java的静态类型(Static Typing)
同时JS的函数是独立的数据类型,并采用基于原型对象(prototype)的继承链
这两点是其与Java语法的最大区别,JS语法比Java自由很多

ECMAScript 只用来标准化 JavaScript 这种语言的基本语法结构,与部署环境相关的标准都由其他标准规定,比如 DOM 的标准就是由 W3C组织(World Wide Web Consortium)制定的

JS的周边生态

互联网周边技术的快速发展同样刺激和推动了 JavaScript 语言的发展
1996年,样式表标准 CSS 第一版发布
1997年,DHTML(Dynamic HTML,动态 HTML)发布,允许动态改变网页内容,标志着 DOM 模式(Document Object Model,文档对象模型)正式应用
1999年,IE 5部署了 XMLHttpRequest 接口,允许 JavaScript 发出 HTTP 请求,为后来大行其道的 Ajax 应用创造了条件
2001年,Douglas Crockford 提出了 JSON 格式,用于取代 XML 格式,进行服务器和网页之间的数据交换,JavaScript 原生支持这种格式,不需要额外部署代码
2004年,Dojo 框架诞生,为不同浏览器提供了同一接口,并为主要功能提供了便利的调用方法,这标志着 JavaScript 编程框架的时代来临
2005年,Ajax 方法(Asynchronous JavaScript and XML)正式诞生,这种方法几乎成了新一代网站的标准做法,促成了 Web 2.0时代的来临
2005年,Apache 基金会发布了 CouchDB 数据库。这是一个基于 JSON 格式的数据库,可以用 JavaScript 函数定义视图和索引。在本质上有别于传统的关系型数据库,标识着 NoSQL 类型的数据库诞生
2006年,jQuery 函数库诞生,为操作网页 DOM 结构提供了非常强大易用的接口,成为了使用最广泛的函数库,并且让 JavaScript 语言的应用难度大大降低,推动了这种语言的流行
2008年,V8 编译器诞生
2009年,Node.js 项目诞生,标志着 JavaScript 可以用于服务器端编程,从此网站的前端和后端可以使用同一种语言开发,同时Node.js 可以承受很大的并发流量,使得开发某些互联网大规模的实时应用变得容易
2010年,三个重要的项目诞生,分别是 NPM、BackboneJS 和 RequireJS,标志着 JavaScript 进入模块化开发的时代
2011年,微软公司发布 Windows 8操作系统,将 JavaScript 作为应用程序的开发语言之一,直接提供系统支持
2012年,单页面应用程序框架(single-page app framework)开始崛起,AngularJS 项目和 Ember 项目都发布了1.0版本
2012年,微软发布 TypeScript 语言。该语言被设计成 JavaScript 的超集,这意味着所有 JavaScript 程序都可以不经修改地在 TypeScript 中运行。同时,TypeScript 添加了很多新的语法特性,主要目的是为了开发大型程序,然后还可以被编译成 JavaScript 运行
2013年,ECMA 正式推出 JSON 的国际标准,这意味着 JSON 格式已经变得与 XML 格式一样重要和正式了
2013年5月,Facebook 发布 UI 框架库 React,引入了新的 JSX 语法,使得 UI 层可以用组件开发,同时引入了网页应用是状态机的概念
2015年3月,Facebook 公司发布了 React Native 项目,将 React 框架移植到了手机端,可以用来开发手机 App。它会将 JavaScript 代码转为 iOS 平台的 Objective-C 代码,或者 Android 平台的 Java 代码,从而为 JavaScript 语言开发高性能的原生 App 打开了一条道路
2015年4月,Angular 框架宣布,2.0 版将基于微软公司的TypeScript语言开发,这等于为 JavaScript 语言引入了强类型
2015年5月,Node 模块管理器 NPM 超越 CPAN,标志着 JavaScript 成为世界上软件模块最多的语言
2015年6月,ECMA 标准化组织正式批准了 ECMAScript 6 语言标准,定名为《ECMAScript 2015 标准》。JavaScript 语言正式进入了下一个阶段,成为一种企业级的、开发大规模应用的语言。这个标准从提出到批准,历时10年,而 JavaScript 语言从诞生至今也已经20年了

你可能感兴趣的:(JavaScript,javascript,ecmascript,原型模式)