javascript bom是什么及bom和dom的区别


Posted in Javascript onNovember 26, 2015

什么是BOM

BOM是browser object model的缩写,简称浏览器对象模型
BOM提供了独立于内容而与浏览器窗口进行交互的对象
由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window
BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性
BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C
BOM最初是Netscape浏览器标准的一部分

在BOM章节中你将学到什么

BOM教程中,同学们将学到与浏览器窗口交互的一些对象,例如可以移动,调整浏览器大小的window对象,可以用于导航的location对象与history对象,可以获取浏览器,操作系统与用户屏幕信息的navigator与screen对象,可以使用document作为访问HTML文档的入口,管理框架的frames对象等

BOM结构图

javascript bom是什么及bom和dom的区别

window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象

由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象,例如下面两行代码是一样的:

示例

document.write("www.dreamdu.com");
window.document.write(www.dreamdu.com);

javascript中的BOM和DOM什么区别?

这是浏览器运行时中的两个不同的概念。

BOM 浏览器对象模型

提供了独立于内容而与浏览器窗口进行交互的对象。描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作,譬如可以弹出新的窗口,改变状态栏中的文本,对Cookie的支持,IE还扩展了BOM,加入了ActiveXObject类,可以通过js脚本实例化ActiveX对象等等)

DOM 文档对象模型

DOM是针对XML的基于树的API。描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。

DOM本身是与语言无关的API,它并不与Java,JavaScript或其他语言绑定。

特定语言的DOM

针对XHTML和HTML的DOM。这个DOM定义了一个HTMLDocument和HTMLElement做为这种实现的基础。

Javascript 相关文章推荐
比较简单实用的使用正则三种版本的js去空格处理方法
Nov 18 Javascript
Javascript日期对象的dateAdd与dateDiff方法
Nov 18 Javascript
javascript自执行函数之伪命名空间封装法
Dec 25 Javascript
判断复选框是否被选中的两种方法
Jun 04 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
Aug 03 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
Jan 17 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 Javascript
JavaScript中EventLoop介绍
Jan 22 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
Dec 24 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
Mar 07 Javascript
教你如何用Node实现API的转发(某音乐)
Sep 20 Javascript
绘制微信小程序验证码功能的实例代码
Jan 05 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 #Javascript
Javascript BOM学习小结(六)
Nov 26 #Javascript
js实现延时加载Flash的方法
Nov 26 #Javascript
学习JavaScript设计模式(链式调用)
Nov 26 #Javascript
学习JavaScript设计模式(继承)
Nov 26 #Javascript
js图片跟随鼠标移动代码
Nov 26 #Javascript
学习JavaScript设计模式(封装)
Nov 26 #Javascript
You might like
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
jQuery简单实现遍历单选框的方法
2017/03/06 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
python实现祝福弹窗效果
2019/04/07 Python
Python3 翻转二叉树的实现
2019/09/30 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
虚拟机下载python是否需要联网
2020/07/27 Python
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
稽核岗位职责
2015/02/10 职场文书
社会实践活动总结格式
2015/05/11 职场文书
毕业典礼主持词
2015/06/29 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
保险公司增员口号
2015/12/25 职场文书
关于做家务的心得体会
2016/01/23 职场文书