JavaScript和ECMAScript有什么区别?

ECMAScript和JavaScript有什么区别? 根据个人推论,ECMAScript是标准,JavaScript是实现。 这个对吗? javascript


#1楼

我知道这是一个旧帖子,但但愿这会对某人有所帮助。 html

在1990年代,不一样版本的js开始出现,例如netscape的javascript和Microsoft的js脚本。 所以,ecmascript被引入做为标准。 可是ecmascript只是javascript的一部分,它指定了它的核心语法,类型,对象等。可能解释了diff中javascript的不一致实现。 浏览器 java

参考-Wrox(适用于Web开发人员的专业Javascript) git


#2楼

以个人理解,ECMAScript是“理论”或“规范”,而Javascript是“实践”或“实施”。 es6


#3楼

现有的答案很好地解释了重点。 github

要点是ECMAScript是一种纯粹的抽象语言,没有任何特定于领域的扩展,它自己是没有用的。 该规范仅定义语言及其核心对象。 数组

JavaScript,ActionScript和其余方言向其添加了特定于域的库,所以您能够将其用于有意义的事情。 浏览器

ECMAScript引擎不少,其中一些是开源的,另外一些是专有的。 您能够将它们连接到您的程序中,而后将本机函数添加到全局对象中,以便您的程序可编写脚本。 尽管最常在浏览器中使用它们。 dom


#4楼

JavaScript = ECMAScript + DOM + BOMecmascript

  • ECMAScript®语言规范定义了用于建立和编辑对象,数组,数字等的全部逻辑。

  • DOM(d ocumentöbject 中号 Odel等)使得可以使用HTML / XML文档进行通讯(例如document.getElementById('id'); )。

  • BOM(B rowseröbject 中号 Odel等)是浏览器对象(例如位置对象,历史对象,表格元件)的层次结构。

JavaScript命名历史:

Mocha►LiveScript►JavaScript►(JS的一部分产生)ECMA-262►ECMAScript►JavaScript(由ECMAScript + DOM + BOM组成)


#5楼

我认为有一点历史课是应该的。

JavaScript最初称为Mocha,后来更改成Livescript,但最终成为JavaScript。

请务必注意,JavaScript早于ECMAscript,历史记录会告诉您缘由。

从一开始,JavaScript就从Java衍生了它的名称,最初,Brendan Eich(JS的建立者)被要求为Netscape开发一种相似于Java的语言。

然而,Eich认为Java的全部规则都过于复杂,所以着手建立一种甚至初学者也能够编写代码的简单语言。这在诸如放宽对分号的要求等方面很明显。

语言完成后,Netscape的营销团队要求Sun容许他们将JavaScript命名为营销特技,所以为何大多数从未使用过JavaScript的人都认为JavaScript与Java有关。

在浏览器中发布JavaScript大约一两年以后,微软的IE就采用了该语言,并开始制做本身的实现,例如JScript。 同时,IE主导了市场,而Netscape必须关闭其项目不久。

在Netscape崩溃以前,他们决定启动一个指导JavaScript路径的标准,称为ECMAScript。

ECMAScript有几个版本,1999年他们发布了最后一个版本(ECMAScript 3),而后在接下来的10年中进入休眠状态。 在这10年中,微软占据了主导地位,但与此同时,他们并无提升产品质量,所以Firefox诞生了(由Eich领导),并诞生了其余许多浏览器,例如Chrome,Opera。

ECMAScript在2009年发布了第5版(第4版已被放弃),它具备严格模式等功能。 从那时起,ECMAScript得到了巨大的发展动力,并计划在从如今起的几个月内发布其第六版,这是迄今为止的最大变化。

您能够在http://kangax.github.io/es5-compat-table/es6/上使用ECMAScript 6的功能列表,以及浏览器支持。 您甚至能够像使用CoffeeScript同样开始编写Ecmascript 6,并使用编译器将其编译为Ecmascript 5。

ECMAScript是语言仍是JavaScript是方言是有争议的,但并不重要。 若是您继续这样思考,可能会使您感到困惑。 那里没有能够运行ECMAScript的编译器,我相信JavaScript被认为是实现称为ECMAScript的标准的语言。

还有其余实现ECMAScript的引人注目的语言,例如ActionScript(用于Flash)

相关文章
相关标签/搜索