当前位置: 首页 >文章 > JavaScript发展简史
收藏
分享

JavaScript发展简史

举报李游Leo李游Leo发布于 2021-05-13887阅读0点赞
与其说我爱Javascript,不如说我恨它。它是C语言和Self语言一夜情的产物...

20世纪90年代后半叶,网上冲浪作为一个比较新潮的事物,逐渐被人们熟悉并流行起来,于是开发客户端脚本的需求也随之逐渐增大。虽然当时大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器(也就是咱们俗称的“猫”)连接到网络,但是由于网页技术革新很快,网页逐渐变得更大、更复杂。受当时连接速度的限制,很多网页在打开的时候是非常缓慢的,也就是我们俗称的“卡”。

在那个时候,仅仅一个简单的表单有效性验证,就要客户端与服务器进行多次地往返交互,这是令用户和开发人员十分“痛苦”的。设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条被告知忘记填写某一必要的字段的消息,是多么令人烦恼啊?可见,在那个普遍通过电话拨号上网的年代,缓慢的网速让页面每次刷新都考验着人们的耐心,于是由客户端处理某些基本的验证也就成了让人兴奋的新功能。鉴于此,正处于技术革新最前沿的网景公司(Netscape),开始认真考虑开发一种客户端脚本语言来解决简单的处理问题。

早期的mosaic(马赛克)浏览器网页

当时,工作于 Netscape 的布兰登·艾奇(Brendan Eich)开始着手为即将在 1995 年发行的网景浏览器 2.0(Netscape Navigator 2.0)开发一个称之为 LiveScript 的脚本语言,最初的目的是在浏览器和服务器(本来要叫它 LiveWire)端使用它。在Netscape与Sun的共同努力下,LiveScript 很快得以实现。随后,在Netscape Navigator 2.0正式发布前,Netscape 将LiveScript更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇,这也是最初的 JavaScript 1.0 版本。

布兰登·艾奇(Brendan Eich)

JavaScript 1.0的问世深受欢迎,于是Netscape 在 Netscape Navigator 3.0中又发布了 JavaScript 1.1 版本。恰巧在那个时候,微软也决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)。微软步入浏览器领域的这一重要举动虽然令其“声名狼藉”,但也成为 JavaScript 语言发展过程中的重要一步。

轰动一时的IE 与 网景的浏览器大战

在微软进入后,有3种不同的JavaScript版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 以及其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这3种不同的版本恰恰突出了这个问题。随着业界担心的不断增加,将JavaScript语言的标准化显然已经势在必行。

1997年,JavaScript1.1作为提案被提交给欧洲计算机制造商协会(Ecma)。国际电工委员会(IEC)第39技术委员会(TC39)承担了“标准化一门通用、跨平台、厂商中立的脚本语言的语法和语义”的任务(参见TC39-ECMAScript)。TC39委员会由来自网景、Sun、微软、Borland、Nombas和其他对JavaScript有兴趣的公司的工程师组成。他们花了数月时间打造出ECMA-262,也就是ECMAScript(发音为“ek-ma-script”)这个新的脚本语言标准。

1998年,国际标准化组织(ISO)和国际电工委员会(IEC)也将ECMAScript采纳为标准(ISO/IEC-16262)。自此以后,各大浏览器纷纷开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为JavaScript实现的基础。

1999年以来,ECMAScript不断的更新,推动JavaScript迭代,功能也越来越强大,不仅逐步成为统治前端开发的核心语言,而且还向全栈开发方向突破。其关键发展节点如下:

1999年12月,ECMAScript 3.0版发布,成为JavaScript的通行标准,主要应用于基于浏览器的 Web 开发,Web崛起,JavaScript开始“统治”前端。

2009年12月,ECMAScript 5.0版发布,Node.js 项目诞生,标志着 JavaScript 开始应用于服务器编程,即向全栈方向突破。

2015年6月,ECMAScript 6.0版发布,为 JavaScript 语言增加了许多必要的特性,如模块和类等,使得 JavaScript 具备了面向对象开发的特性,为驾驭大型的项目打下基础,催生出了Electron等“浏览器+ Node.js”的跨平台解决框架。跨平台、3D渲染、前后端一体、基于Node.js丰富的三方库,使得 JavaScript 成为开发 HTML5 游戏与应用的首选编程语言。

2020年,随着越来越多的厂商使用JavaScript为首要编程语言,例如:腾讯的微信小程序、华为的鸿蒙等等,而之后ECMAScript7 – 10的发布,使得JavaScript这门语言可发掘性越来越高。

总而言之,ECMAScript是JavaScript语言的规范标准,JavaScript是ECMAScript 的一种实现。随着ECMAScript 规范的不断升级迭代,为 JavaScript 带来了无限可能。

“与其说我爱Javascript,不如说我恨它。它是C语言和Self语言一夜情的产物”

—— 出自《Brendan Eich》的百度百科词条




本文原创,未经作者允许不可转载!

更多内容,欢迎关注作者微信公众号:李游Leo老师前端讲堂!


0条评论
别默默看啦~登录/注册一起参与讨论吧~

暂无评论

请选择举报理由

违反法律法规

侵犯个人权益

有害网站环境

更多训练营>>

为你推荐 · 训练营(全勤打卡报名费全额返累计全额返用户133,637人)

电商海报设计训练营
距离开班仅剩10天66人已报名
【5月】零基础手绘插画训练营
距离开班仅剩10天52人已报名
【5月】零基础动态表情包创作训练营
距离开班仅剩27天15人已报名
猜你喜欢
JavaScript - 严格模式

2021-05-12

李游Leo 发表

JavaScript - 严格模式
前端浏览器的区分

2021-05-06

李游Leo 发表

前端浏览器的区分
二叉树的垂序遍历

2021-08-09

小虎转载君 发表

二叉树的垂序遍历
谁手握账本?趣讲 ZK 的内存模型

2021-02-25

小虎转载君 发表

谁手握账本?趣讲 ZK 的内存模型
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习89000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了36,588
并提交了234份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 89000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证