JS小结-DOM与BOM区别

JS中调用DOM

JS只是一门语言,功能取决于运行环境。操作DOMJS跑在浏览器这个Context下的其中一部分API。浏览器还有BOM接口用来操作非DOM的接口。
JS跑在其他Context下就是其他功能了,比如Node.js中就拥有了文件操作等一大堆系统API

DOMBOM

链接:DOMBOM

区别:DOM描述了处理网页内容的方法和接口,BOM描述了与浏览器进行交互的方法和接口。

具体:在 DOM 中,html页面结构解析成一个文档对象,提供一个接口API,以供操作所有的节点。文档中的各个组件(component),可以通过object.attribute 这种形式来访问。一个DOM 会有一个根对象,这个对象通常就是document。而BOM 根对象是当前浏览器窗口对象,window对象。document也是挂在window对象下。所以BOM除了可以访问文档中的组件之外,还可以访问浏览器的组件,比如问题描述中的navigator(导航条)、history(历史记录)等等。BOM的核心是window,而window对象又具有双重角色,它既是通过js访问浏览器窗口的一个接口,又是一个Global(全局)对象。这意味着在网页中定义的任何对象,变量和函数,都以window作为其global对象。

 

★ javascript 有三部分构成,ECMAScriptDOMBOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异。

1. DOM 是 W3C 的标准; [所有浏览器公共遵守的标准]
2. BOM 是 各个浏览器厂商根据 DOM在各自浏览器上的实现;[表现为不同浏 览器定义有差别,实现方式不同]
3. window 是 BOM 对象,而非 js 对象;JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象。

 

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看BOM的一部分。这些扩展包括:弹出新的浏览器窗口移动、关闭浏览器窗口以及调整窗口大小提供 Web 浏览器详细信息的定位对象提供用户屏幕分辨率详细信息的屏幕对象 cookie 的支持IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化ActiveX 对象

javacsript是通过访问BOMBrowser Object Model)对象来访问、控制、修改客户端(浏览器),由于BOMwindow包含了documentwindow对象的属性和方法是直接可以使用而且被感知的,因此可以直接使用window对象的document属性,通过document属性就可以访问、检索、修改XHTML文档内容与结构。因为document对象又是DOM(Document Object Model)模型的根节点。可以说,BOM包含了DOM(对象),浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及浏览器读取到的文档。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值