使用了这么久的 JavaScript,你是否了解 JS 的历史呢,若是你不是很了解的话,今天就让咱们一块儿来梳理一下 JS 诞生的历史吧!程序员
让咱们回到 1995 年 JavaScript 诞生的前夕,当时人们上网冲浪可不像如今有这么快的网速,打开一个页面须要好几分钟,点击页面上的一个按钮到页面给出响应也须要半分钟时间。编程
想象一下,你花了五分钟打开一个购物网站,这个网站要求你进行注册,你填完了用户名密码等信息后,点击了提交按钮,焦急的等待着注册成功能够开始剁手买买买,半分钟过去了,页面弹出了一条消息:“密码长度必须大于等于6位”。此刻你的心里是否是崩溃的,裤子都脱了你就给我看这个?(嗯。。。好像有点不太对,买个东西你脱什么裤子,快穿上)浏览器
当时走在技术革新前沿的 Netscape(网景)发现频繁的与服务器进行数据交互会给用户带来很很差的体验,而且提出了他们的疑问:能不能在浏览器上完成这种简单的表单验证呢?答案是确定的,Netscape 公司决定开发一种能够在用户的浏览器上运行的客户端语言来处理这种简单的验证。当时就任于Netscape的34岁程序员 布兰登·艾克(Brendan Eich) 接受了这项任务,开始动手开发一个名为 LiveScript 的脚本语言,终于在历经了呕心沥血的10天以后,艾克完成了 LiveScript 的初步设计,他的设计思路是这样的:服务器
借鉴 C 语言的基本语法;函数式编程
借鉴 Java 语言的数据类型和内存管理;函数
借鉴 Scheme 语言,将函数提高到“第一等公民”(first class)的地位;post
借鉴 Self 语言,使用基于原型(prototype)的继承机制;网站
总的来讲,LiveScript 其实是两种语言风格的混合产物,简化版的函数式编程 && 简化版面向对象编程。prototype
终于时间来到了 Netscape Navigator 2 正式发布的前夕,因为当时 Java 在业界引起了轰动,媒体正在大肆炒做 Java,为了可以搭上 Java 的顺风车,Netscape 公司决定临时把 LiveScript 更名成 JavaScript,至此,JavaScript 第一次出如今了大众的视线里。设计
因为搭载了 JavaScript 1.0 的 Netscape Navigator 2 得到了用户的好评,获得了市场的一致承认,Netscape 决定趁热打铁,在随即发布的 Netscape Navigator 3 上加上了升级后的 JavaScript 1.1,借着这阵东风要把 Netscape 打形成行业的龙头领袖。
这下微软可坐不住了:“行呀你老弟,这就想当大哥了?还有没有把我放在眼里,不给你点颜色看看你是不知道什么叫 hard(硬气),还真觉得我很软?”。微软决定也在自家的浏览器 Internet Explorer 3 上也加上 JavaScript ,可是抄也不能抄的太明显是吧,就像抄试卷答案总不能把别人的名字也抄上,因而微软给自家浏览器上的 JavaScript 起了个新名字,叫 JScript。
因为微软也在自家的浏览器上加上了 JS,这就意味着出现了两个不一样 JS 的版本,可是当时对于 JS 的实现语法和特性等没有规定一个标准,这就可能形成两个不一样浏览器上的 JS 存在愈来愈大的差异,业界很担忧这个差别会日益扩大。(什么?你问为何业界很担忧?你想一想,两个浏览器上的 JS 不同,就意味着同一个网页要针对两个浏览器写两份不一样的代码,这仍是两个浏览器,若是是十个呢?这让程序员怎么活?还能不能愉快的上班划水了??)随着业界的呼声不断加大,JS 的标准化终于被提上了议程,1997 年,一份以 JavaScript 1.1 为蓝本的 JS 标准化建议提交到了欧洲计算机制造商协会(即大名鼎鼎的 ECMA,European Computer Manufacturers Association),该协会指定了 39 号技术委员会(TC39,Technical Committee #39) 来负责标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义。TC39 由来自 Netscape、Sun、微软等公司的程序员组成,他们通过数月的努力完成了 ECMA-262,定义一种名为 ECMAScript 的新脚本语言的标准。自此之后,各浏览器开发商就以 ECMAScript 做为各自 JavaScript 实现的标准来开发各自浏览器上的脚本语言。
世界今后又恢复了和平,peace~