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读取cookies信息(记录用户名)
Jan 10 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
Js实现网页键盘控制翻页的方法
Oct 30 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
Jun 08 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
May 05 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
Sep 17 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
React 实现拖拽功能的示例代码
Jan 06 Javascript
ES6中字符串的使用方法扩展
Jun 04 Javascript
VUE递归树形实现多级列表
Jul 15 Vue.js
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 mail()函数使用及配置方法
2014/01/14 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
33种Javascript 表格排序控件收集
2009/12/03 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
2018/05/06 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
2016/05/05 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python的pip安装以及使用教程
2018/09/18 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
大学生学习党课思想汇报
2014/01/03 职场文书
小学毕业寄语大全
2014/04/03 职场文书
植树节口号
2014/06/21 职场文书
法院授权委托书格式
2014/09/28 职场文书
校运会新闻稿
2015/07/17 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS