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 相关文章推荐
Javascript实现的类似Google的Div拖动效果代码
Aug 09 Javascript
jquery 动态合并单元格的实现方法
Aug 26 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
Mar 02 Javascript
Javascript 实现匿名递归的实例代码
May 25 Javascript
Bootstrap datepicker日期选择器插件使用详解
Jul 26 Javascript
深入研究React中setState源码
Nov 17 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
Sep 18 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
JS如何寻找数组中心索引过程解析
Jun 01 Javascript
微信小程序实现多图上传
Jun 19 Javascript
jQuery插件实现图片轮播效果
Oct 19 jQuery
如何利用React实现图片识别App
Feb 18 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
文章推荐系统(三)
2006/10/09 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
php curl常用的5个经典例子
2017/01/20 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
js实现3D旋转相册
2020/08/02 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
详解Python中的from..import绝对导入语句
2016/06/21 Python
实用自动化运维Python脚本分享
2018/06/04 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
通过实例解析Python调用json模块
2019/12/11 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
Python字符串的修改方法实例
2019/12/19 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
英国绿色商店:Natural Collection
2019/05/03 全球购物
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
资料员的岗位职责
2013/11/20 职场文书
自我评价的写作规则
2014/01/06 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
给校长的建议书
2014/03/12 职场文书
运动会方阵口号
2014/06/07 职场文书
岗位说明书怎么写
2014/07/30 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
民事申诉状范本
2015/05/20 职场文书
投诉信范文
2015/07/02 职场文书
浅谈Python魔法方法
2021/06/28 Java/Android