ECMAScript和JavaScript的区别是什么?根据我的推断,ECMAScript是标准,JavaScript是实现。这对吗?
当前回答
ECMAScript是语言,而JavaScript, JScript,甚至ActionScript 3被称为“方言”。维基百科对此有所解释。
其他回答
总称:
JavaScript = ECMAScript + DOM +炸弹;
ECMAScript®语言规范定义了创建和编辑对象、数组、数字等的所有逻辑… DOM(文档对象模型)使得与HTML/XML文档(例如Document . getelementbyid ('id');)通信成为可能。 BOM(浏览器对象模型)是浏览器对象的层次结构(例如位置对象,历史对象,表单元素)。
JavaScript命名的历史:
Mocha►LiveScript►JavaScript(语言)►(JS的一部分结果)►ECMA-262►ECMAScript►JavaScript(总称,由ECMAScript + DOM + BOM组成)
如果不是因为“JavaScript”这个名字属于Sun,我怀疑我们永远不会使用“ECMAScript”这个词。无论如何,这种语言都是JavaScript。你不会去书店找ECMAScript的书吧?
说“JavaScript”就是实现有点太简单了。JScript是微软的实现。
各种JavaScript版本都是ECMAScript标准的实现。
Javascript是它最初的名字,意在利用java的流行。ECMA是监督最终实施的标准的标准机构,因此名称大致相同。
实现还有其他名字,比如V8或者Rhino等等。
现有的答案很好地解释了要点。
主要的一点是ECMAScript是一种纯粹的抽象语言,没有任何特定领域的扩展,它本身是无用的。规范只定义了语言和它的核心对象。
而JavaScript和ActionScript以及其他方言则为其添加了特定于领域的库,因此您可以将其用于有意义的事情。
有许多ECMAScript引擎,其中一些是开源的,另一些是专有的。你可以将它们链接到你的程序中,然后将你的本机函数添加到全局对象中,这样你的程序就可以脚本化了。尽管它们通常在浏览器中使用。