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代码
Jul 09 Javascript
js window.onload 加载多个函数和追加函数详解
Jan 08 Javascript
javascript 终止函数执行操作
Feb 14 Javascript
一个简单的Node.js异步操作管理器分享
Apr 29 Javascript
在Node.js中实现文件复制的方法和实例
Jun 05 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
Sep 20 Javascript
如何使用jquery easyui创建标签组件
Nov 18 Javascript
整理关于Bootstrap排版的慕课笔记
Mar 29 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
May 17 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
Weex开发之地图篇的具体使用
Oct 16 Javascript
vue中实现点击变成全屏的多种方法
Sep 27 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
Apache设置虚拟WEB
2006/10/09 PHP
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
script不刷新页面的联动前后代码
2013/09/18 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
Puppeteer使用示例详解
2019/06/20 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
Pycharm小白级简单使用教程
2020/01/08 Python
python中pow函数用法及功能说明
2020/12/04 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
思想品德自我鉴定
2013/10/12 职场文书
文秘专业毕业生就业推荐信
2013/11/08 职场文书
主题实践活动总结
2014/05/08 职场文书
新员工入职欢迎词
2015/01/23 职场文书
社会实践单位意见
2015/06/05 职场文书
特种设备安全管理制度
2015/08/06 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis