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 相关文章推荐
javascript IFrame 强制刷新代码
Jul 23 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
基于Jquery实现的一个图片滚动切换
Jun 21 Javascript
jquery插件hiAlert实现网页对话框美化
May 03 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
AngularJS仿苹果滑屏删除控件
Jan 18 Javascript
Bootstrap carousel轮转图的使用实例详解
May 17 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
Apr 17 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
Jul 22 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
vue使用nprogress实现进度条
Dec 09 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
Nov 13 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实现维护文件代码
2007/06/14 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
php实现水仙花数示例分享
2014/04/03 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
python实现多线程抓取知乎用户
2016/12/12 Python
Python格式化日期时间操作示例
2018/06/28 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
详解python的argpare和click模块小结
2019/03/31 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
父母寄语大全
2014/04/12 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL