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 相关文章推荐
js中哈希表的几种用法总结
Jan 28 Javascript
JavaScript制作简易的微信打飞机
Mar 31 Javascript
JS中实现函数return多个返回值的实例
Feb 21 Javascript
浅谈vue的踩坑路
Aug 31 Javascript
JavaScript 中Date对象的格式化代码方法汇总
Sep 06 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
vue的diff算法知识点总结
Mar 29 Javascript
Vue中JS动画与Velocity.js的结合使用
Feb 13 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
May 14 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
Jun 28 Javascript
解决vue+webpack项目接口跨域出现的问题
Aug 10 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数组键名技巧小结
2015/02/17 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
vue组件与复用详解
2018/04/08 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
Python实现从URL地址提取文件名的方法
2015/05/15 Python
python关键字and和or用法实例
2015/05/28 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Python实现的读写json文件功能示例
2018/06/05 Python
把pandas转换int型为str型的方法
2019/01/29 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
班主任新年寄语
2014/04/04 职场文书
数学系毕业生求职信
2014/05/29 职场文书
综艺节目策划方案
2014/06/13 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫