富贵资源网 Design By www.hznty.com
JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的编程语言排行榜中排到了第8名,紧随C#,JavaScript从过去装饰性的一种脚本语言转变为主流的编程语言,人们用它来开发更大更复杂的程序,这就需要Web开发人员更深入的了解JavaScript,了解它的过去、现在和未来。

JavaScript历史简述

  大概在1992年,一家称作Nombas的公司开始开发一种叫做C减减(C-minus-minus,简称Cmm)的嵌入式脚本语言。这个脚本语言捆绑在一个叫做CEnvi的共享软件产品中,当Netscape Navigator崭露头角时,Nombas开发了一个可以嵌入网页中的CEnvi的版本。这些早期的试验称为Espresso Page(浓咖啡般的页面),它们代表了第一个在万维网上使用的客户端脚本语言。而Nombas丝毫没有料到它的理念将会成为因特网的一块重要基石。

  当网上冲浪越来越流行时,对于开发客户端脚本的需求也逐渐增大。当时工作于Netscape的Brendan Eich,开始着手为即将在1995年发行的Netscape Navigator 2.0开发一个称之为LiveScript的脚本语言,当时的目的是同时在浏览器和服务器端使用它。Netscape与Sun公司联手及时完成LiveScript实现。就在Netscape Navigator 2.0即将正式发布前,Netscape将其更名为JavaScript,目的是为了利用Java这个因特网时髦词汇。Netspace的赌注最终得到回报,JavaScript从此变成了因特网的必备组件。

ECMAScript标准

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

  在微软进入后,有3种不同的JavaScript版本同时存在:Netscape Navigator 3.0中的JavaScript、IE中的JScript以及CEnvi中的ScriptEase。与C和其他编程语言不同的是,JavaScript并没有一个标准来统一其语法或特性,而这3种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言标准化显然已经势在必行。1997年,JavaScript 1.1作为一个草案提交给欧洲计算机制造商协会(ECMA),由来自Netscape、Sun、微软、Borland和其他一些对脚本编程感兴趣的公司的程序员组成的TC39锤炼出了ECMA-262,该标准定义了叫做ECMAScript的全新脚本语言。从此,Web浏览器就开始努力(虽然有着不同程度的成功和失败)将ECMAScript作为JavaScript实现的基础。

  尽管ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的JavaScript实现是由以下3个不同部分组成的
  "BORDER-COLLAPSE: collapse" borderColor=#339933 cellSpacing=0 cellPadding=3 width="98%" border=1> 版本 发布日期 基于 Netscape Navigator Mozilla Firefox Internet Explorer Opera Safari Chrome 1.0 1996年3月
2.0
3.0 (JScript 1.0)(1996年8月)


1.1 1996年8月
3.0
3.0 (JScript 2.0)(1997年1月)



1.2 1997年6月
4.0-4.05




1.3 1998年10月 ECMA-262 第一版 (1997年6月发布)/ ECMA-262 第二版 (1998年6月发布) 4.06-4.7x
4.0 (JScript 3.0)(1997年10月)


1.4

Netscape Server Only

JScript 4.0 (Visual Studio 6, no IE release)

5.0 (JScript 5.0)(1999年3月)




1.5 2000年11月 ECMA-262 第三版 (1999年12月发布) 6.0 1.0

5.5 (JScript 5.5)(2000年7月)

6 (JScript 5.6)(2001年10月)

7 (JScript 5.7)(2006年10月)

8 (JScript 5.8)(2009年3月)



1.6 2005年11月 1.5 + Array extras + Array and String generics + E4X
1.5

3.0, 3.1
1.7 2006年10月 1.6 + Pythonic generators + Iterators + let
2.0

3.2, 4.0 1.0 1.8 2008年6月 1.7 + Generator expressions + Expression closures
3.0



1.8.1 2009年6月
1.8 + Native JSON support + Minor Updates
3.5



1.8.5 2010年7月
1.8.1 + ECMAScript 5 Compliance
4 9



2.0 制定中
ECMAScript Harmony
 



特别说明:
  1.当Netscape 将它的源代码作为Mozilla 项目公布于众时,本来计划JavaScript 1.4 将会嵌入到Netscape Navigator 5.0 中。然而,一个冒进的决定——要完全从头重新设计Netscape 的代码,破坏了这个工作。 JavaScript 1.4 仅仅作为一个Netscape Enterprise Server 的服务器端脚本语言发布,以后也没有被放入浏览器中。
  2.E4X(ECMAScript for XML)是一种在ECMAScript(见ECMA-262,包括ActionScript、JavaScript等语言实现)标准的基础上加入的动态XML支持的程序语言扩展。E4X的目的是作为DOM接口之外的另一个选择。它可以使程序员在ECMAScript脚本中通过更简洁的语法来访问XML文档。同时,它也为实现脚本中XML可视化提供了一种新方法。
  3.从 IE 5.5 版本发布开始,微软就没有更新过它基于浏览器的JavaScript实现策略,但在.NET Framework 中包含了JScript.NET作为ECMAScript 4的实现,其中添加了一些特定于微软的功能,它不能作为客户端脚本语言在IE中使用,只能用在ASP.NET中作为服务器端语言或者独立应用程序来用。与其它的JavaScript版本不同,JSscript.NET是编译型语言,可以独立的可执行文件。
  4.ECMAScript Harmony其实是包含JavaScript 2.0在内的ECMAScript第四版的一个临时新命名(未来可能是ECMAScript第六版?),ECMAScript第五版则是独立开发的ECMAScript 3.1语言的后期命名。
  5.如今,所有的主流 Web 浏览器都遵守 ECMA-262 第三版,即实现的是JavaScript 1.5版,JavaScript 1.6-1.9只是ECMAScript (JavaScript on Gecko)升级至JavaScript 2.0的临时代号。
检测JavaScript版本
点击测试按钮可以测试你当前浏览器支持的JavaScrpt版本,在IE8中测试,提示说支持的版本是1.3,奇怪?

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

参考内容:

1.JavaScript高级程序设计
2.http://en.wikipedia.org/wiki/Javascript#History 3.http://en.wikipedia.org/wiki/ECMAScript#Version_correspondence
4.http://ejohn.org/blog/versions-of-javascript/
5.https://developer.mozilla.org/en/JavaScript/Guide/JavaScript_Overview
作者:梦想
出处:http://www.cnblogs.com/lhb25

富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。