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 相关文章推荐
jquery win 7透明弹出层效果的简单代码
Aug 06 Javascript
jquery弹出关闭遮罩层实例
Aug 06 Javascript
java与javascript之间json格式数据互转介绍
Oct 29 Javascript
常用的JavaScript验证正则表达式汇总
Nov 26 Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
Nov 24 Javascript
浅析Vue 防抖与节流的使用
Nov 14 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
Apr 24 Javascript
Vue点击切换Class变化,实现Active当前样式操作
Jul 17 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
php学习笔记 数组遍历实现代码
2011/06/09 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
node.js中的fs.writeFileSync方法使用说明
2014/12/14 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
网络体系结构及协议的定义
2014/03/13 面试题
建筑工程自我鉴定
2013/10/18 职场文书
创意活动策划书
2014/01/15 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
体育活动总结范文
2014/05/04 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
机动车交通事故协议书
2015/01/29 职场文书
项目安全员岗位职责
2015/02/15 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
浅谈MySQL之select优化方案
2021/08/07 MySQL