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检查表单数据是否改变的方法
Jul 30 Javascript
导航跟随滚动条置顶移动示例代码
Sep 11 Javascript
jquery map方法使用示例
Apr 23 Javascript
javascript根据时间生成m位随机数最大13位
Oct 30 Javascript
node.js中的fs.fstat方法使用说明
Dec 15 Javascript
JavaScript中getUTCMinutes()方法的使用详解
Jun 10 Javascript
浅谈js 闭包引起的内存泄露问题
Jun 22 Javascript
jQuery实现的漂亮表单效果代码
Aug 18 Javascript
使用jquery.form.js实现图片上传的方法
May 05 Javascript
深入浅析vue-cli@3.0 使用及配置说明
May 08 Javascript
layui 动态设置checbox 选中状态的例子
Sep 02 Javascript
对Layer UI 模块化的用法详解
Sep 26 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动态创建Flash动画
2006/10/09 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
PHP URL路由类实例
2013/11/12 PHP
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
小程序实现留言板
2018/11/02 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
python中文编码问题小结
2014/09/28 Python
Python+微信接口实现运维报警
2016/08/27 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
大学生党课思想汇报
2013/12/29 职场文书
公司总经理岗位职责
2014/03/15 职场文书
高三家长寄语
2014/04/03 职场文书
爬山的活动方案
2014/08/16 职场文书
反四风对照检查材料
2014/09/22 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
五年级学生评语大全
2014/12/26 职场文书
初中家长评语大全
2014/12/26 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS