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实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
判断输入是否为空,获得输入类型的JS代码
Oct 30 Javascript
jQuery 文本框得失焦点的简单实例
Feb 19 Javascript
javascript操作excel生成报表全攻略
May 04 Javascript
js实现的万能flv网页播放器代码
Apr 30 Javascript
JavaScript简单获取系统当前时间完整示例
Aug 02 Javascript
javascript self对象使用详解
Oct 18 Javascript
基于JavaScript实现无缝滚动效果
Jul 21 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
Dec 28 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
vue 调用 RESTful风格接口操作
Aug 11 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函数file_get_contents超时处理的方法详解
2013/06/03 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
YII框架http缓存操作示例
2019/04/29 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
深入Node TCP模块的理解
2019/03/13 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
opencv与numpy的图像基本操作
2019/03/08 Python
python下PyGame的下载与安装过程及遇到问题
2019/08/04 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Django框架请求生命周期实现原理
2020/11/13 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
销售心得体会
2014/01/02 职场文书
树转促学习心得体会
2014/09/10 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
分家协议书范本
2016/03/22 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
python实现双向链表原理
2022/05/25 Python