JavaScript编程全解1.3 ECMAScript_JavaScript编程全解1.3 ECMAScript试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > JavaScript编程全解 > 1.3 ECMAScript

JavaScript编程全解——1.3 ECMAScript

1.3.1 JavaScript 的标准化 上节提到,JavaScript 是由网景公司提出的。之后,微软开发了和JavaScript 相兼容的JScript 并将其应用于Internet Explorer 中。不过,人们通常将两者统称为JavaScript。 为了防止因两家公司独自开发而导致JavaScript 分裂以及其他一些问题,网景公司提出了名为EcmaInternational 的JavaScript 标准化组织。这一 标准语言的名称就是ECMAScript。由于将语言规则的制定权交给了中立的标准化组织,网景公司放弃了对JavaScript 的垄断地位,JavaScript 因此具备了标准化程序设计语言所必须的安定感。对于开发者来说,标准的程序设计语言不会随特定企业的想法而轻易改变,也更令人安心。这是因为如果一种语言由某一企业所控制,可能会发生开发终止或是需要收费使用的情况。 ECMAScript 的标准编号是ECMA-262,并在之后获得了ISO 的承认(ISO-16262)。通俗来讲,就是得到了ISO 的权威认证。根据ECMAScript 标准,网景公司的JavaScript 被重新定义为一种符合ECMAScript 标准的程序设计语言。微软的JScript 亦然。即使之后JavaScript 的开发主体由网景公司变为了Mozilla 基金会,这一定义也没有改变。 之后还出现了其他ECMAScript 的具体实现,不过现在都将它们统称为JavaScript 实现。严格来说,由网景公司开发、现由Mozilla 基金会继续发展的语言称为JavaScript,其他ECMAScript 标准的实现方式称为JavaScript 的兼容实现方式。不过这样区分的意义并不大,所以本书将这些统称为JavaScript 实现方式。目前,具代表性的JavaScript 实现方式一方面以标准为主,一方面也在独立发展。也就是说,它们在提供了ECMAScript 功能的基础上,继续提供其他便捷功能。事实上,JavaScript 的具体实现大部分都是ECMAScript的超集。因此,如果要保证可移植性,只要做到在代码中仅使用ECMAScript 标准所包含的功能即可。 1.3.2 被放弃的ECMAScript 第4 版 表1.1(JavaScript 简史)中并没有ECMAScript 第4 版,这是因为ECMAScript 第4 版没能符合要求而最终被放弃了。 ECMAScript 第3 版是在1999 年提出的。一方面可以说JavaScript 在10 年间保持了稳定不变,但另一方面也意味着它的标准止于10 年之前,已经停止了前进。一般来说,1999 以后的ECMAScript 第3 版以及JavaScript 1.5 版被作为默认标准,即使JavaScript 增加了新功能也被视为增强功能。官方的意见是为了与标准相兼容,不应该使用新功能。标准化有积极的一面,但同时又由于其发展过于缓慢,导致了JavaScript 的具体实现往往增加了很多独有功能,造成了代码可移植性降低的不良后果。 在大约10 年的时间里(1999 年至2008 年),ECMAScript 第4 版的制定工作一直在进行,原本计划向业已规范有序的标准中进一步加入大量增强功能。在第4 版中甚至有引入“类”的概念这样大胆的标准变更计划。然而,2008 年的标准化工作大会放弃了大幅度变更标准的计划,转为在第3 版的基础上进行渐进式改进。于是,在2009 年直接发布了和第3 版标准差异不大的第5 版。 由于ECMAScript 第5 版的保守,JavaScript 1.6 版中很多新增功能的处境也变得微妙起来。虽然其中也有一些功能仍然被ECMAScript 第5 版采用,但其大部分都没能被接受。因此,虽说只要遵循ECMAScript 标准依然可以随意使用,但JavaScript 1.6 版实际上成为了一种独立的JavaScript 增强版本。总之,如果要遵循标准或是保证可移植性的话,就不应该使用那些功能。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《JavaScript编程全解》其他试读目录

• 1.1 JavaScript 概要
• 1.2 JavaScript 的历史
• 1.3 ECMAScript [当前]
• 1.4 JavaScript 的版本
• 1.5 JavaScript 实现方式
• 1.6 JavaScript 运行环境
• 1.7 JavaScript 相关环境