BOM与DOM的区别分析


Posted in Javascript onOctober 26, 2010

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 相关文章推荐
制作特殊字的脚本
Jun 26 Javascript
用Javascript数组处理多个字符串的连接问题
Aug 20 Javascript
javascript的原生方法获取数组中的最大(最小)值
Dec 19 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
Jan 13 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
Mar 05 Javascript
jQuery实现隔行背景色变色
Nov 24 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
Dec 28 Javascript
浅谈js for循环输出i为同一值的问题
Mar 01 Javascript
JavaScript实现小球沿正弦曲线运动
Sep 07 Javascript
Vue extend的基本用法(实例详解)
Dec 09 Javascript
vue随机验证码组件的封装实现
Feb 19 Javascript
js下判断 iframe 是否加载完成的完美方法
Oct 26 #Javascript
Javascript下判断是否为闰年的Datetime包
Oct 26 #Javascript
基于jquery的给文章加入关键字链接
Oct 26 #Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 #Javascript
自写的一个jQuery圆角插件
Oct 26 #Javascript
jQuery获取地址栏参数插件(模仿C#)
Oct 26 #Javascript
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 #Javascript
You might like
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
2017/10/18 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
Python实现二分查找算法实例
2015/05/26 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python3代码中实现加法重载的实例
2020/12/03 Python
python中的时区问题
2021/01/14 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
综合素质的自我鉴定
2013/10/07 职场文书
老师自我鉴定范文
2013/12/25 职场文书
销售主管竞聘书
2014/03/31 职场文书
班长竞选演讲稿
2014/04/24 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
2014年底工作总结
2014/12/15 职场文书
讲文明倡议书
2015/04/29 职场文书
校运会通讯稿
2015/07/18 职场文书