ECMAScript和JavaScript的区别是什么?根据我的推断,ECMAScript是标准,JavaScript是实现。这对吗?
当前回答
从技术上讲,ECMAScript是每个人都在使用和实现的语言——它是许多年前Netscape和Microsoft坐下来试图在JavaScript (Netscape的脚本语言)和JScript (Microsoft的脚本语言)之间标准化脚本时创建的规范。
随后,所有这些引擎表面上都实现了ECMAScript,然而JavaScript(这个名字)现在因为传统的命名原因而存在,并且作为Mozilla用于各种非标准扩展的营销术语(他们希望能够真正“版本”)。
其他回答
我知道这是一个老帖子,但希望这能帮助到一些人。
在20世纪90年代,js的不同版本开始出现,比如netscape的javascript, Js脚本来自微软。所以ecmascript作为标准被引入。但是ecmascript只是javascript的一部分,它指定了它的核心语法、类型、对象等。这可能解释了javascript在不同浏览器中的实现不一致
Wrox(面向Web开发人员的专业Javascript)
从技术上讲,ECMAScript是每个人都在使用和实现的语言——它是许多年前Netscape和Microsoft坐下来试图在JavaScript (Netscape的脚本语言)和JScript (Microsoft的脚本语言)之间标准化脚本时创建的规范。
随后,所有这些引擎表面上都实现了ECMAScript,然而JavaScript(这个名字)现在因为传统的命名原因而存在,并且作为Mozilla用于各种非标准扩展的营销术语(他们希望能够真正“版本”)。
现有的答案很好地解释了要点。
主要的一点是ECMAScript是一种纯粹的抽象语言,没有任何特定领域的扩展,它本身是无用的。规范只定义了语言和它的核心对象。
而JavaScript和ActionScript以及其他方言则为其添加了特定于领域的库,因此您可以将其用于有意义的事情。
有许多ECMAScript引擎,其中一些是开源的,另一些是专有的。你可以将它们链接到你的程序中,然后将你的本机函数添加到全局对象中,这样你的程序就可以脚本化了。尽管它们通常在浏览器中使用。
JavaScript是一种ECMAScript语言。
ECMAScript不一定是JavaScript。
如果不是因为“JavaScript”这个名字属于Sun,我怀疑我们永远不会使用“ECMAScript”这个词。无论如何,这种语言都是JavaScript。你不会去书店找ECMAScript的书吧?
说“JavaScript”就是实现有点太简单了。JScript是微软的实现。
推荐文章
- 如何发送推送通知到web浏览器?
- AngularJS:工厂和服务?
- js:将一个组件包装成另一个组件
- 父ng-repeat从子ng-repeat的访问索引
- JSHint和jQuery: '$'没有定义
- 模仿JavaScript中的集合?
- 用JavaScript验证电话号码
- 如何在HTML5中改变视频的播放速度?
- 谷歌地图API v3:我可以setZoom后fitBounds?
- ES6/2015中的null安全属性访问(和条件赋值)
- 与push()相反;
- JS字符串“+”vs concat方法
- AngularJS使用ng-class切换类
- 访问Handlebars.js每次循环范围之外的变量
- 如何用JavaScript截屏一个div ?