2010-11-24 95 views
13

如果我开始将我的脚本标记定义为ECMA,会发生什么情况?它会执行到不同的标准吗?Javascript和ECMA脚本有什么区别?

有没有人真的使用ECMA脚本而不是直接使用JavaScript ...?

+2

不知道它是否是重复的,但今天早些时候被问到:http://stackoverflow.com/questions/4269150/what-is-ecmascript这里有一个问题几乎完全相同的标题:http:// stackoverflow .com/questions/912479/javascript-and-ecmascript之间的差异是什么 – user113716 2010-11-24 21:28:23

+0

提问和回答:http://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript -and-ecmascript – 2013-07-15 18:09:30

回答

27

ECMAScript是一个标准。 JavaScript是该标准的实现(更准确地说,该标准的第3版)。

ECMAScript的其他实现是ActionScript和JScript。

另请注意,不存在one JavaScript。每个JavaScript引擎都可以实现它自己的语言版本,只要它符合ECMAScript的要求。这意味着浏览器(JS引擎)可能具有附加功能,但它们全都是必须具有基本的ECMAScript功能。

现在,根据RFC 4329回答你的问题,如果媒体类型设置为application/ecmascript而不是application/javascript,它必须遵守更严格的标准。

本文档定义了类型 文本/ JavaScript的,文本/ ECMAScript的,和 应用/ JavaScript的等效 处理要求。使用和 支持媒体类型 应用程序/ ecmascript大大低于本文档中定义的其他媒体 类型 。使用 对其有利,此文档 为此类型定义了更严格的处理规则,以促进更多可互操作的 处理。

3

ECMAScript是一种编程语言标准,就像lisp。 Javascript是这样的一个实现,以及像DOM这样的非ECMAScript特性。 ActionScript(用于Flash)是另一种。就像写在“lisp”中意味着用Common Lisp或Scheme这样的方言编写,实际上直接编写ECMAScript可能不仅毫无意义,而且在方言中不可用(尽管我认为ActionScript 3和最近的JavaScript应用了整个ECMAScript标准) 。

相关问题