上QQ阅读APP看书,第一时间看更新
2.2 DOM概述
上文说过,ES的标准化主要是为了解决各大浏览器厂商(特别是微软和网景公司)对脚本语言语法实现的不统一,但是,各厂商在浏览器上的竞争并没有因为ES的出现而终止。微软为了占领更大的市场,在自己的Internet Explorer浏览器中加入了很多专有属性,例如VBScript和ActiveX等,而使用了这些技术的网页必须使用微软的平台和浏览器才可以正常显示,这又给开发者带来了麻烦。此时,W3C的一些成员公司提议创建一套标准将页面文档的结构暴露给脚本,从而使脚本可以统一操作浏览器所显示的页面文档,这样最后制定出DOM标准。
DOM是Document Object Model的缩写,表示文档对象模型,它定义了文档对象的结构及其操作方法等内容。为什么叫对象模型呢?前面说过,ES是一种面向对象的语言,它要操作的目标是对象,而DOM就是将HTML文档转换(或者称对应)成ES可以操作的对象的一种模型。这个问题在大家学习了ES之后再反过来看就非常清楚了。
虽然DOM是为浏览器制定的,但作为一套标准,它不仅可用于HTML文件,而且可用于其他格式的文件。例如,服务端经常用来配置信息的XML文件、Flex的MXML文件以及表示矢量图的SVG格式文件等,这些都符合DOM标准。
另外,DOM主要定义了文档对象及其操作方法的对应关系,而跟具体的语言无关,因此DOM不仅适用于ES,而且适用于其他很多语言,例如,Java中的dom4j也是DOM的一种实现。而且DOM中规定操作文档的方法都是通过接口定义的,这使不同的语言可以按照自己的语法来实现。