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 相关文章推荐
简化版手机端照片预览组件
Apr 13 Javascript
jQuery使用animate创建动画用法实例
Aug 07 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
js检查是否关闭浏览器的方法
Aug 02 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
node.js博客项目开发手记
Mar 16 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
微信小程序官方动态自定义底部tabBar的例子
Sep 04 Javascript
关于Layui Table隐藏列问题
Sep 16 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
Oct 30 Javascript
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
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制作图型计数器的例子
2006/10/09 PHP
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
PHP 遍历XP文件夹下所有文件
2008/11/27 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php上传大文件设置方法
2016/04/14 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
python版本单链表实现代码
2018/09/28 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
python实现网页录音效果
2020/10/26 Python
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
代收款委托书范本
2014/10/01 职场文书
新员工试用期自我评价
2015/03/10 职场文书
2016年春节问候语
2015/11/11 职场文书
在js中修改html body的样式
2021/11/11 Javascript