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重写Cognos右键菜单的实现代码
Apr 11 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
Nov 14 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
Sep 12 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
Dec 31 Javascript
jquery Deferred 快速解决异步回调的问题
Apr 05 Javascript
BootStrap中Table隐藏后显示问题的实现代码
Aug 31 Javascript
基于jquery实现五星好评
Nov 18 jQuery
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
浅谈webpack组织模块的原理
Mar 10 Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
简单了解vue.js数组的常用操作
Jun 17 Javascript
在vscode 中设置 vue模板内容的方法
Sep 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,ajax实现分页
2008/03/27 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
Python使用django搭建web开发环境
2017/06/09 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
详解python 中in 的 用法
2019/12/12 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
交通事故委托书范本(2篇)
2014/09/21 职场文书
公司捐书倡议书
2015/04/27 职场文书
文艺节目主持词
2015/07/06 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android