JavaScript的发展史

        在九十年代初,网络的速度非常慢,一般都是十几k,二十几k。用户上网时常常会遇到这样一个窘境。

        一个现实的例子:那个时候论坛风靡一时,许多用户上论坛时,需要注册一个账号,注册页面是一个表单,要求用户填写账号、密码、性别、爱好等信息。当用户填好信息提交时,这个表单就会被发送到服务器,由服务器做一些校验工作(例如,密码设定是否符合一定的规则、用户是否漏填某些必要信息等格式校验)。设想,如果此时一个用户由于粗心忘记了填写某个必要信息就提交了表单,在那个网络速度非常慢的时代,当服务器检测出该用户漏填再将提醒信息反馈到用户时,其实已经耗费了相当一段时间,夸张一点,如果一个用户足够粗心,他在注册这一关就可以花费一天的时间。这样的体验绝对是非常差劲的,于是人们就想,我可不可以不用将表单提交到服务器进行格式校验操作,而让我的表单就在我本地客户端浏览器中进行格式校验。于是,很多人就想能否做出一门客户端脚本语言,让它可以直接在浏览器执行不与服务器进行交互就能直接来控制HTML元素,达到来判断HTML元素中的内容格式是否正确完整的目的,当判断出该内容格式确实是正确完整时,就将这个数据发送给服务器。这样一样来就减少了时间的花费,增强了用户的体验。

        正是由于这样的想法,在1992年,Nombase公司,开发出全球第一门客户端脚本语言,专门用于表单的校验,可以阻止用户的非法数据提交,这个脚本语言被命名为C--,这样的命名就是为了蹭C++的热度。然而事与愿违,当时在大众的心里,C++是一门很难的语言,当人们看到C--的时候以为它和C++一样的难,正是这样的心理导致C-- 一度没有什么市场。到了1995年,有一家公司Netscape(网景)看中了C-- 语言的思想,于是借鉴这个语言的思想,自行开发了一门客户端脚本语言:LiveScript。开发出来之后想要搭载到浏览器上时,发现了一些缺陷,开发得不太好。这是由于Netscape公司主要是做浏览器开发的,对于语言的定义比较生涩。同年有一门编程语言发布了——Java,Sun公司发布了jdk1.0版本,彼时Java语言大热了起来,Netscape公司请来了Sun公司的一些专家,两家公司就在LiveScript之上进行修改完善,最终将LiveScript语言更名为JavaScript,然而JavaScript语言本质上与Java语言没有任何关系,只是在语法层面有些相似而已,这样的命名也只是为了蹭一波Java语言的热度而已。历史证明这个热度蹭得确实很好。1996年,微软公司开发出了自己的浏览器——IE,他们也想做出一门客户端脚本语言搭载到IE浏览器上,于是就抄袭了JavaScript从而开发出了JScript语言。于是IE浏览器也实现了大卖,NetScape公司将JavaScript语言搭建到自家的浏览器上,也实现了自家浏览器的大卖,后来Nombase公司就想,这门语言本质上我才是第一个开发出来的,为什么其他公司都火了就我这个鼻祖,无人问津,于是总结经验教训,Nombase公司就将原来的C--更名为:ScriptEase,于是这门语言就火了起来,从此市面上Nombase、NetScape、微软在这门语言上就呈现了三足鼎立的势态。

        市面上流行的Nombase公司的ScriptEase、NetScript公司的JavaScript以及微软的JScript语言虽然本质上可以算作是同源,但是由于是不同公司开发出来搭载到不同浏览器上的语言,多多少少也会有一些差别,也就一度导致了市面流传的三个版本,当一个程序员想要开发一个页面,在页面上完成一些动态效果时,这个程序员必须把JavaScript、JScript、ScriptEase都学会,才能够让所有的浏览器显示出自己制作的效果,这样一来不但对于程序员来说非常不友好,在一定程度上也对搅乱了市场。微软抄袭JavaScript唯一的贡献就是搅乱了市场,1997年有一个组织ECMA(欧洲计算机制造商协会)站了出来,表示要统一所有的客户端脚本语言,让所有的客户端语言都必须遵守同一个规范,从而标准化市场。ECMA依据JavaScript的语法制定了一套标准,并将这套标准取名为ECMAScript,这就是所有客户端脚本语言的标准。于是三家公司纷纷根据ECMAScript标准整改自己的语言。从此市场就实现了标准化。JavaScript的发展史就进行到了这一步。

        于是现在的JavaScript就等于ECMAScript+JavaScript自己 的东西(BOM+DOM)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立志Java工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值