ECMAScript 与 JavaScript的联系

刘-冬-冬 发布于 2012/10/09 00:24
阅读 15K+
收藏 3

这两天再看javascript高级教程:http://www.w3school.com.cn/js/pro_js_implement.asp

这里面讲了ECMAScript与javascript的关系,看了之后理解的还是不太清楚。

有几个问题想请教大家

1,ECMAScript是一套标准或者规范,它定义了一种脚本语言的应该是什么样子,那么ECMAScript本身是一种脚本语言吗?

    我的理解是,首先ECMAScript是一套标准,定义了一种语言(假如A语言)是什么样子,然后呢,它又自己实现了A语言(A语言的语法、类型、语句、关键字、保留字、运算符、对象都是标准定义或者描述的那样。

),然后呢A语言的名字也叫ECMAScript,现在ECMAScript即是一套标准,又是一种脚本语言。

2,这句话更让我糊涂“每个浏览器都有它自己的 ECMAScript 接口的实现,然后这个实现又被扩展”,ECMAScript的接口是个啥东西,这些接口都是什么接口,操作什么的,这些接口和前面的标准是什么关系?

3,关于DOM,教程中有这么一句话:“Web 浏览器中的 DOM 已经用 ECMAScript 实现了,现在是 JavaScript 语言的一个很大组成部分”,这似乎说明ECMAScript是脚本语言,否则怎么会实现DOM的接口呢。

 

加载中
1
ZenPHP
ZenPHP
看完之后更糊涂了
0
mallon
mallon
为什么要死扣名字呢?
刘-冬-冬
刘-冬-冬
我不是非要扣名字,只是如果不明白这些概念我觉得一些其他的东西更糊涂。
0
zfc827
zfc827

简单的说呢,就是ECMAScript定义了一些JS基础API,但是他本身并没有实现这些API。实现的工作是交给了各个浏览器厂商,由于厂商的差异,导致实现的版本各种各样,同样取名也各不相同,比如微软的JScript。同理由于厂商的喜好,导致某些特定浏览器下出现了非JS标准外的API,比如IE下各种在其他浏览器不支持的函数。

ECMAScript之所以被称谓标准,主要是因为他并没有提供实现,就像Java很多标准都只是提供一套接口API一样。

只会百度的程序员
只会百度的程序员
回复 @刘-冬-冬 : 感觉上面说的还是很对的。相信他,没有错!
刘-冬-冬
刘-冬-冬
我一开始的理解和你差不多,但是我上面的第三个问题,就让我纠结了。既然没有提供实现,那为什么说ECMAScript实现了DOM呢?
0
anx
anx
ecmascript是规范,规则。 实现它的语言有javascript,actionscript......
刘-冬-冬
刘-冬-冬
既然这样,那么我上面的第三个问题怎么解释呢?
0
anx
anx

javascript由bom,dom,ecma262组成的。dom是属于javascript的,而javascript是属于ecmascript的,所以dom也是属于ecmascript的。


刘-冬-冬
刘-冬-冬
但是那个文章里说DOM是ECMAScript实现的,然后当做了javascript的一个比较大的组成部分。这么说就好像ECMAScript不仅仅是一个规范,它也有自己的实现,这个实现也是javascript的一部分。
0
我是潮汐
我是潮汐
ecma只是一个标准,规范. dom实现是javascript的.
0
苏叶晚晚
苏叶晚晚
很欣赏你看书的态度。我前不久也在看这本书,被这些概念绕的云里雾里的。不求甚解的过去了。我觉得把书上这些很绕的话给征服 了,才更有意义和价值。但是身边没个讨论的人,这些细枝末节的网上资料也少,也就不了了之。很欣赏你执着的态度,加油!
刘-冬-冬
刘-冬-冬
http://topic.csdn.net/u/20121009/10/ff65309c-d7ab-490d-9838-74b2ade9eca6.html?seed=2023150413&r=79840111#r_79840111
0
刘-冬-冬
刘-冬-冬
谢谢各位的指点,我想我纠结的东西已经明白了。
对于javascript这种脚本语言的理解上我理解偏了,也就是对ECMAScript标准的实现理解偏了,所谓的实现是实现一种脚本语言,而不是我理解的接口。
之前以为javascript就是某一个组织或者人编写完之后,然后各个浏览器厂商通过js引擎来解释执行,其实不然。
其实是通过ECMAScript制定的标准,各浏览器厂商以此标准实现了自己的“javascript”,这些javascript基本的东西都是一样的,比如语法、类型......。除此之外浏览器厂商还做了一些扩展。
刘-冬-冬
刘-冬-冬
上述解释中关于ECMAScript的实现,我理解的还是不对,希望不要误导别人!
0
timelyxyz
timelyxyz

虽然有点迟了,不过还是建议看下这篇博文

http://blog.csdn.net/liaodehong/article/details/50488098

返回顶部
顶部