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获取单选按钮的数据
Nov 27 Javascript
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 Javascript
上传的js验证(图片/文件的扩展名)
Apr 25 Javascript
jquery移除、绑定、触发元素事件使用示例详解
Apr 10 Javascript
用js格式化金额可设置保留的小数位数
May 09 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
jQuery实现简单的间隔向上滚动效果
Mar 09 Javascript
Javascript中String的常用方法实例分析
Jun 13 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
Dec 23 Javascript
vue+element的表格实现批量删除功能示例代码
Aug 17 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
如何基于filter实现网站整体变灰功能
Apr 17 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
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
javascript中创建对象的三种常用方法
2010/12/30 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
javascript如何实现create方法
2019/11/04 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
python 计算文件的md5值实例
2017/01/13 Python
Python变量和字符串详解
2017/04/29 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
详解django三种文件下载方式
2018/04/06 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
JDO的含义
2012/11/17 面试题
策划主管的工作职责
2013/11/24 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
防灾减灾活动总结
2014/08/30 职场文书
开除员工通知
2015/04/22 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server