【问题标题】:What is the difference between Javascript and ECMA script? [duplicate]Javascript 和 ECMA 脚本有什么区别? [复制]
【发布时间】:2011-05-15 08:59:15
【问题描述】:

如果我开始将我的脚本标签定义为 ECMA,会发生什么?它会执行不同的标准吗?

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

【问题讨论】:

标签: javascript


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    ECMAScript 的其他实现是 ActionScript 和 JScript。

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

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

    本文档定义了等效的 类型的处理要求 文本/javascript、文本/ecmascript 和 应用程序/javascript。使用和 支持媒体类型 应用程序/ecmascript 相当 不如其他媒体广泛传播 本文档中定义的类型。使用 有利的是,这份文件 定义更严格的处理规则 这种类型以促进更多的互操作性 处理。

    【讨论】:

    • 不要使用application/* 作为脚本类型,IE 会窒息。
    • 好点,但我想使用 application/*,而不是 text/*,以符合 RFC 建议。如果您替换为 text/*,这些参数仍然适用。
    • 我没有完全按照。是不是有点像说,按照标准,你的意思是语法和通用特性集(比如 java 中的接口),也许一个实现可以允许额外的东西,比如 lambda,而另一个实现可能不允许?
    • @AbhinavVishak 你所说的是正确的。你可以这样看... ES:JS ~ Interface:Implementation。或者至少理想情况下应该是这样。但在实践中,事情有点复杂,网上有很多文章可供想要了解更多的人使用。请注意,这里有几个 ES 与接口不同的方式。一方面,没有人强制要求 ES 实现实际上尊重标准。第二个 ES,至少在其最近的化身中已成为一种生活标准。它是模块化的并且具有快速迭代。
    • 在这里我找到了一个很好的链接来解释 JavaScript 和 ECMAScript 之间的区别:medium.freecodecamp.org/…
    猜你喜欢
    • 1970-01-01
    • 2011-12-29
    • 2018-01-23
    • 1970-01-01
    • 2013-05-26
    • 2011-04-27
    • 2023-03-17
    相关资源
    最近更新 更多