JavaScript和ECMAScript通常被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262规定的要多得多。一个完整的JavaScript实现应该由
三个不同的部分组成
详细信息参见http://zh.wikipedia.org/wiki/ECMAScript(包括web浏览器ECMAScript的支持)
文档对象模型(DOM,Document Object Model)是针对XML但经过扩展也用于HTML的应用程序编程接口(API)。DOM把整个页面映射成一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含不同的数据。如下HTML页面所示:
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<p>Hello World!</p>
<p>一起学习JavaScript!</p>
</body>
</html>
"在IE4和NN4中分别支持不同的DHTML,Web跨平台的天性被破坏了,而如果任其发展,Web开发领域就会出现技术上的两强割据,浏览器互不兼容的局面。此时,负责指定Web通信标准的W3C开始着手规划DOM。"
除了DOM核心和DOM HTML之外,还有一些其他基于XML的语言发布了DOM标准。
浏览器对象模型(BOM,Browser Object Model)可以控制浏览器显示的页面以外的部分。
5大浏览器都已经实现了ECMAScript第3版,对ECMAScript第5版的支持程度越来越高,但对DOM的支持彼此相差比较大。 IE8是第一个着手实现ECMA-262第5版的浏览器,并在IE9中提供了完整的支持,Firefox4也紧随其后做到兼容。
对已经纳入HTML5标准的BOM来说,各浏览器都实现了众所周知的共同特性,但其他特性还是会因浏览器而异。
在DOM标准出现一段时间之后,IE5中首先尝试实现DOM,直到IE5.5才算真正支持DOM1,IE6,7中没有引入新的DOM功能,直到IE8才对以前DOM中存在的bug进行修复,IE9则开始实现DOM1级,2级和3级。Firefox3开始完全支持DOM1级,几乎完全支持DOM2级。支持DOM已经成为浏览器厂商的首要目标。
JavaScript是一种专为与网页交互设计的脚本语言,有以下三部分组成: