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实现5秒钟自动封锁div层的方法
Feb 20 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
Mar 02 Javascript
学习JavaScript设计模式之状态模式
Jan 08 Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
Jan 20 Javascript
JS闭包用法实例分析
Mar 27 Javascript
angularjs 动态从后台获取下拉框的值方法
Aug 13 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
Sep 18 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
Dec 03 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 Javascript
详解javascript中var与ES6规范中let、const区别与用法
Jan 11 Javascript
详解vue-router的导航钩子(导航守卫)
Nov 02 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 3行代码的分页算法(求起始页和结束页)
2009/10/21 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
利用Python实现颜色色值转换的小工具
2016/10/27 Python
儿童学习python的一些小技巧
2018/05/27 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
火车的故事教学反思
2014/02/11 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
趣味运动会开幕词
2015/01/28 职场文书
防卫过当辩护词
2015/05/21 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
房屋所有权证明
2015/06/19 职场文书
运动会开幕式致辞
2015/07/29 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP