9

这个问题说明了一切。

4

8 回答 8

20

ECMAScript 和 JavaScript 之间是有区别的,不是吗?

ECMAScript 是一种定义明确的语言(此处为规范)。

JavaScript 是它的一种方言,据我所知不是一个完整的实现,而且它包含了五代浏览器对它所做的事情。

正如 Christoph 在他的评论中指出的那样,微软对 ECMAScript 的实现实际上被称为 JScript,而“Javascript”这个词是授权给 Mozilla 基金会的。

我认为,普遍的看法是将 JavaScript 视为每个浏览器的 ECMAScript 实现的总和。改变它会非常混乱,而且实际上是不正确的。

于 2010-01-30T10:45:08.677 回答
7

大声说出你的问题,你会发现它是它自己的答案。

如果你把它拼出来,那么EEE-SEE-emm-EH 脚本的五个音节是相当拗口的。如果你试图把它作为一个词来发音,它会听起来像EczemaScript,这会导致一连串的笑话

此外,“JavaScript”不仅仅是广泛使用的,它是嵌入式的。您将无法阻止人们说“JavaScript”。

编辑

巧合的是,我刚刚观看了 OSCON 2007 上的 Steve Yegge 主题演讲,他在演讲中谈到了品牌和软件。他谈到了 JavaScript 与 ECMAScript 的问题。没有得出结论,这是真的,但史蒂夫总是物有所值。 立即观看

于 2010-01-30T10:53:00.497 回答
6

为什么它被称为 JavaScript 的历史是一段令人费解的历史,并且与让开发人员熟悉这种新语言有很大关系。

它最初是 Mocha,然后是 LiveScript,最后是 JavaScript。称它为 JavaScript 可能与它被如此广泛采用的原因有很大关系,因为人们认为它类似于 Java 以及大多数程序员每天使用的其他 C 系列语言。它实际上与 Scheme 和一些更深奥的原型语言有更多的共同点。

JavaScript 是一种指定良好的语言,并且在所有浏览器中都得到了很好的实现。规范中的某些元素会引起严重的麻烦,例如分号推断,但这些元素在所有实现中都与规范非常一致。

正是 DOM 库导致了现实世界中 99% 的跨浏览器实现令人头疼的问题。

于 2010-01-30T11:08:07.420 回答
2

作为其他答案的附录:

  1. HTML 规范建议使用text/javascriptMIME 类型:
    <script type="text/javascript">

  2. 通常 ECMAscript 文件以文件扩展名保存.js

于 2010-01-30T11:08:55.883 回答
1

因为 ECMAscript 是标准,而 Javascript 是一种实现(尽管是一个非常分散的实现)。其中不完全支持 ECMAscript。

于 2010-01-30T10:45:23.573 回答
1

因为 JavaScript 是它的名字(由 Netscape 授予)在微软推动 ECMA 标准化以使其独立开发的 JScript 合法化之前很多年。

于 2010-01-30T11:20:46.313 回答
0

历史原因。即使 JavaScript™ 实际上只是 Mozilla 基金会维护的 ECMAScript 方言的名称,我还是使用术语 Javascript(没有大写的 's')来涵盖所有常见的 ECMAScript 方言。

于 2010-01-30T10:55:37.993 回答
0

因为 ECMAScript 是指 ECMA 标准化的语言的名称。JavaScript/JScript 是该语言的一种方言,但不是唯一的一种。还有其他方言,例如 ActionScript。因此,术语“ECMAScript”不仅指 JavaScript/JScript,还指其他方言,如 ActionScript,它们不是嵌入到浏览器中的内容。

于 2010-01-30T22:20:34.097 回答