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 相关文章推荐
javascript prototype原型操作笔记
Dec 07 Javascript
node.js Web应用框架Express入门指南
May 28 Javascript
JavaScript插件化开发教程 (四)
Jan 27 Javascript
Javascript 调用 ActionScript 的简单方法
Sep 22 Javascript
javascript实现秒表计时器的制作方法
Feb 16 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
May 04 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
element-ui中的select下拉列表设置默认值方法
Aug 24 Javascript
jsonp跨域及实现百度首页联想功能的方法
Aug 30 Javascript
vue+axios实现文件下载及vue中使用axios的实例
Sep 21 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
PHP4之COOKIE支持详解
2006/10/09 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
js获取单选框或复选框值及操作
2012/12/18 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
浅析Git版本控制器使用
2017/12/10 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
一套Java笔试题
2016/08/20 面试题
介绍一下linux文件系统分配策略
2013/02/25 面试题
电脑教师的自我评价
2013/12/18 职场文书
二年级数学教学反思
2014/01/21 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
篮球社团活动总结
2014/06/27 职场文书
党校学习个人总结
2015/02/15 职场文书
民事诉讼代理词
2015/05/25 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang