资讯专栏INFORMATION COLUMN

JavaScript简史

BigNerdCoding / 3300人阅读

摘要:一经发布,关注度就居高不下,这也引起了当时的巨头微软的注意。微软为了抢占浏览器的市场份额,在年月便在其发布的中搭载了其对的实现。

JavaScript诞生于1995年,最初的想法就是在人们提交表单的时候,提前做一些验证,提高用户体验。试想一下,再那个年代,因为网速很慢,提交个表单,可能要等待20几秒,再等待这么长的时间之后,服务器返回消息说有一个必填字段没有填......,介于此,Netscape的大佬觉得是时候解决一下这个令人蛋疼的事情了。

JavaScript原本是打算叫liveScript的,但怕这名字不够响亮,于是就想借着java的热潮,搭搭热炒java的顺风车,改名叫了JavaScript。JavaScript一经发布,关注度就居高不下,这也引起了当时的巨头微软的注意。微软为了抢占浏览器的市场份额,在96年8月便在其发布的Internet Explorer 3中搭载了其对JavaScript的实现——JScript。微软JScript的推出,便意味着市场上就有两套JavaScript的实现语言了(这里的JavaScript指的是一套语言规范,微软的JScript和Netscape的JavaScript都是对这套规范的实现)。因为当时还没有标准规定JavaScript语言的语法和特性,微软和Netscape的实现方法有着很多的差异,导致了很多问题,比如只编写一套代码,很难在两个平台完美运行。所以TC39协会在97年定义出了名叫ECMScript的新脚本语言规范。从此浏览器开发商就开始致力于将ECMScript作为各自JavaScript实现的基础。

JavaScript不仅是对于ECMScript的实现,它还对其进行了扩展,加入了DOM和BOM接口。加入DOM,是为了能再不刷新页面的情况下就能改变页面的内容和外观。加入BOM,一是为了提供Global对象,承载所有的全局变量,二是为了提供访问和操作浏览器的接口。所以我们所说的JavaScript其实是由ECMScript,DOM,BOM三部分构成的。我们所说的js的兼容性问题一般都是由于由于各个浏览器厂商对于DOM,BOM的实现方式不一样造成的(尤其是IE),并且各个浏览器还都有自己独有的针对DOM的扩展。

ECMAScript版本:
1.ECMAScript第一版是根据Netscape发布的JavaScript1.1 指定的,本质上与JavaScript1.1相同, 只是删除了所有针对Netscape浏览器特有的代码,以及做了一些小改动

2.ECMAScript第二版主要是对第一版的编辑加工,没有做任何的新增,修改,删除

3.ECMAScript第三版才算是对ECMAScript的第一次真正修改,修改的内容涉及字符串处理,错误处理和数值输 出,这一版还新增了对正则表达式,控制语句等的支持

4.ECMAScript第四版因为改动太大而流产,同时出现了ECMAScript3.1的替代性提案

5.因为第四版流产,ECMAScript3.1作为了ECMAScript第5版发布,此版本新增了一些新功能,比如原生的JSON对象, 继承的方法,并且消除了第三版中存在的一些歧义

6.基于流产的第四版并且经过多年的重新打磨与完善,全新的ES2015年闪亮登场,从此ES开始改为以年份命名,比如现在的ES2016,ES2017。ES6是ES2015以及之后ECMAScript的统称。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96187.html

相关文章

  • Javascript 简史

    摘要:在日益流行期间,一经发布就取得了巨大的成功,于此同时微软决定在浏览器中投入更多的资源,然后微软就在其浏览器中加入了名为。微软推出其这就意味着有了两个不同版本的,与其它编程语言不同,当时还没有标准的规定。 「 JavaScript 」 诞生于 1995年,当时主要是用于处理由服务器负责的一些输入验证操作。 在 「 JavaScript 」为诞生之前,必须要把表单数据发送到服务端,然后等到...

    pekonchan 评论0 收藏0
  • JavaScript 模块演化简史

    摘要:模块演化简史从属于笔者的开发基础与工程实践。首个采样该设计模式的界面库当属,其是创建于年。允许我们定义模块,并且在显式地声明其依赖模块而由框架完成自动注入。而最后的模块化规范定义于年正式发布,也就是被命名为。 JavaScript 模块演化简史 从属于笔者的 Web 开发基础与工程实践。本文主要总结自 The Evolution of JavaScript Modularity、Nat...

    ky0ncheng 评论0 收藏0
  • PHPer书单

    摘要:想提升自己,还得多看书多看书多看书下面是我收集到的一些程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧当然,如果你有好的书想分享给大家的或者觉得书单不合理,可以去通过进行提交。讲师温铭,软件基金会主席,最佳实践作者。 想提升自己,还得多看书!多看书!多看书!下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧!当然,如果你有好的书想分享给大家的或者...

    jimhs 评论0 收藏0
  • AI技术说:人工智能相关概念与发展简史

    摘要:如何看待人工智能的本质人工智能的飞速发展又经历了哪些历程本文就从技术角度为大家介绍人工智能领域经常提到的几大概念与发展简史。一人工智能相关概念人工智能就是让机器像人一样的智能会思考是机器学习深度学习在实践中的应用。 作为近几年的一大热词,人工智能一直是科技圈不可忽视的一大风口。随着智能硬件的迭代,智能家居产品逐步走进千家万户,语音识别、图像识别等AI相关技术也经历了阶梯式发展。如何看待...

    amuqiao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<