JavaScript DOM编程艺术(第2版)
上QQ阅读APP看书,第一时间看更新

1.2 DOM

什么是DOM?简单地说,DOM是一套对文档的内容进行抽象和概念化的方法。

在现实世界里,人们对所谓的“世界对象模型”都不会陌生。例如,当用“汽车”、“房子”和“树”等名词来称呼日常生活环境里的事物时,我们可以百分之百地肯定对方知道我们说的是什么,这是因为人们对这些名词所代表的东西有着同样的认识。于是,当对别人说“汽车停在了车库里”时,可以断定他们不会理解为“小鸟关在了壁橱里”。

我们的“世界对象模型”不仅可以用来描述客观存在的事物,还可以用来描述抽象概念。例如,假设有个人向我问路,而我给出的答案是“左边第三栋房子”。这个答案有没有意义将取决于那个人能否理解“第三”和“左边”的含义。如果他不会数数或者分不清左右,则不管他是否理解这几个概念,我的回答对他都不会有任何帮助。在现实世界里,正是因为大家对抽象的世界对象模型有着基本的共识,人们才能用非常简单的话表达出复杂的含义并得到对方的理解。具体到这里的例子,你可以相当有把握地断定,其他人对“第三”和“左边”的理解和我完全一样。

这个道理对网页也同样适用。JavaScript的早期版本向程序员提供了查询和操控Web文档某些实际内容(主要是图像和表单)的手段。因为JavaScript预先定义了“images”和“forms”等术语,我们才能像下面这样在JavaScript脚本里引用“文档中的第三个图像”或“文档中名为‘details’的表单”:

现在的人们通常把这种试验性质的初级DOM称为“第0级DOM”(DOM Level 0)。在还未形成统一标准的初期阶段,“第0级DOM”的常见用途是翻转图片和验证表单数据。Netscape和微软公司各自推出第四代浏览器产品以后,DOM开始遇到麻烦,陷入困境。