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三种排序算法分享
Aug 16 Javascript
jquery插件validate验证的小例子
May 08 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
js生成随机数的过程解析
Nov 24 Javascript
Angular2安装angular-cli
May 21 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
May 30 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 Javascript
layui添加动态菜单与选项卡
Jul 26 Javascript
Vue中axios拦截器如何单独配置token
Dec 27 Javascript
JavaScript面向对象核心知识与概念归纳整理
May 09 Javascript
微信小程序使用GoEasy实现websocket实时通讯
May 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
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
php异常处理捕获错误整理
2019/09/23 PHP
什么是JavaScript
2009/08/13 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python实现的rsa加密算法详解
2018/01/24 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
高校毕业生登记表自我鉴定
2013/11/03 职场文书
大一新生军训时的自我评价分享
2013/12/05 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS
python 通过使用Yolact训练数据集
2021/04/06 Python
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python