ECMAScript和JavaScript的详解

 一,ECMAScript和JavaScript的联系

1、ECMAScript是JavaScript的规格,JavaScript是ECMAScript的一种实现,在日常场合,这两个词是可以互换的。

JavaScript的创造者Netscape公司,将JavaScript提交给国际标准化组织ECMA,希望这种语言能够成为国际标准,后来ECMA发布标准文件的第一版(ECMA-262),规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript。该标准从一开始就是针对JavaScript语言制定的,之所以不叫JavaScript,有两个原因:一是商标,Java是Sun公司的商标,根据授权协议,只有Netscape公司可以合法地使用JavaScript这个名字,且JavaScript本身也已经被Netscape公司注册为商标;二是想体现这门语言的制定者是ECMA,不是Netscape,有利于保证这门语言的开放性和中立性。

ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准。 ECMAScript 规范定义了一种脚本语言实现应该包含的内容;但是,因为它是可扩充的,所以其实现所提供的功能与这个最小集相比可能变化很大。

ECMAScript 是一种开放的、国际上广为接受的脚本语言规范。 它本身并不是一种脚本语言。正如在 Web 应用程序中执行有用操作的 bean 集合(例如,Netscape 的 AWT)是 Sun 的 JavaBean 规范的一种实现一样,JavaScript 是 ECMAScript 规范的一种实现。

ECMAscript定义的只是JavaScript的基础,而在此基础之上可以构建更完善的脚本语言。web浏览器只是ECMAscript实现可能的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现,同时也会提供JavaScript的扩展,以便语言与环境之间对接交互。

2、但事实上,JavaScript比ECMA-262的含义多得多,一个完整的JavaScript实现应该由以下三个部分组成:

1) ECMAScript:核心

2) DOM:文档对象模型

3) BOM:浏览器对象模型


二,ECMAScript和JavaScript的区别

JavaScript语言的前身叫作LiveScript。自从Sun公司推出著名的Java语言之后, Netscape公司引进了Sun公司有关Java的程序设计概念,将自己原有的LiveScript重新进行设计,并更名为JavaScript。这所 以取名为JavaScript,原因就在于JavaScript作为一种嵌入HTML文档的、基于对象的脚本设计语言。其中很大一部分的语法同Java语 言很相似,而且JavaScript的设计可以使它很容易地同Java语言一同工作,它可以充分支持Java的applet小应用程序,Java的 applet小应用程序也可以很方便地访问已有的JavaScript代码。所以,也可以JavaScript看成是Java语言的某种简化版本。
JScript 是 Microsoft 公司对 ECMA 262 语言规范(ECMAScript 编辑器 3)的一种实现。除了少数例外(为了保持向后兼容),JScript 完全实现了 ECMA 标准。JScript 是一种解释型的、基于对象的脚本语言。

Jscript是微软版的JavaScript,与JavaScript基本一致.
如果你这样写:不声明脚本版本的话,在IE里默认用Jscript,在Netscape里默认用JavaScript脚本语言本身和浏览器版本无关,JavaScript就是JavaScript,永远是Netscape公司的JavaScript,永远首先默 认支持 NS;JScript永远就是MS的JScript,IE永远默认首先支持JScript,其实只是MS和NS之间的积怨罢了,于我们这些使用者本无区 别......

你可能感兴趣的:(JavaScript)