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 相关文章推荐
jquery 简单的进度条实现代码
Mar 11 Javascript
更优雅的事件触发兼容
Oct 24 Javascript
js Dialog 实践分享
Oct 22 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
Apr 15 Javascript
jcrop基本参数一览
Jul 16 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
JavaScript实现邮箱地址自动匹配功能代码
Nov 28 Javascript
ES6新数据结构Map功能与用法示例
Mar 31 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 Javascript
微信小程序云开发之模拟后台增删改查
May 16 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生成随机密码的几种方法
2011/01/17 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
php实现网站留言板功能
2015/11/04 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
完美主义个人的自我评价
2014/02/17 职场文书
会计学专业求职信
2014/07/17 职场文书
公司文体活动总结
2015/05/07 职场文书
争做文明公民倡议书
2019/06/24 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL