关于BOM与DOM的区别的分析
DHTML技术各项功能的实现都依赖于使用客户端脚本与浏览器宿主及在宿主中输出的Web页面之间的交互,这种交互是通过对象这个技术手段实现的。
BOM即Browser Object Model浏览器对象模型,是在客户端脚本核心的基础上实现的扩展API,通过该API可以使用脚本访问浏览器窗口及其文档对象的各个方面。BOM从IE3.0/NS3.0开始引入。
在BOM API中,把Web浏览器的各个主要外显特性、Web页面及其标记、内容等都封装成一个个对象,通过这些对象提供的成员访问窗口、文档、元素对象等,并在此基础上实现了对象的事件支持机制。所有BOM对象之间存在一定的.关联关系。
学习BOM技术主要就是学习如何利用客户端脚本使用BOM对象,通过这些封装的BOM对象可实现很多DHTML功效。
BOM技术不是标准化的Web技术,因浏览器而异。正因为如此大大限制了DHTML技术的应用领域和发展前景。
不同浏览器实现的BOM技术并不统一,这是造成DHTML技术实现差异的主要原因,由此W3C在BOM技术的基础上进行扩充与改善、优化,制定了新的统一技术规范标准,即DOM(Document Object Model)文档对象模型技术。
DOM技术最初是针对XML文档的解析与控制而制定的技术规范,但可把HTML文档XML化成XHTML文档,使用DOM技术来访问Web页面文档中的各类对象。
目前W3C为DOM技术规范制定了三个不同的级别,即DOM Level 1/2/3。IE5/NS6开始全面支持DOM Level 1。有时有人也把BOM技术称为DOM Level 0[W3C官方没有此说法!]。
DOM技术的核心是把XML(包括XHTML)文档结构解析为树状结构,每个标记看作是一个节点Node,各节点之间存在某种关系,并通过这些关系来相互访问。
DOM技术与XML技术密切相关,涉及的技术内容庞杂,学习难度较高,但掌握了BOM技术后再学习DOM技术就有一定的帮助。
不仅可以在JavaScript之类的脚本语言中使用DOM技术,在Java之类的重量级程序设计语言中也广泛使用DOM技术。
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
javascript设置创建动态表格的方法
两种JavaScript动态创建table表格的方法,分享给大家,具体实现如下方法一:最原始的方法,创建一一元素vara1=teElement("table");vara2=teElement("tbody");vara3=teElement("tr");vara4=teElement("td");//开始appendchild()追加各个元素ndChild(a4);ndChild(a3);nd...
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
JavaScript数据结构与算法中集合的实现
集合(Set)说起集合,就想起刚进高中时,数学第一课讲的就是集合。因此在学习集合这种数据结构时,倍感亲切。集合的基本性质有一条:集合中元素是不重复的。因为这种性质,所以我们选用了对象来作为集合的容器,而非数组。虽然数组也能做到所有不重复,但终究过于繁琐,不如集...