DOM和BOM

Document Object Model(文档对象模型),就是把「文档」当做一个「对象」来看待。 相应的,Browser Object Model(浏览器对象模型),即把「浏览器」当做一个「对象」来看待。

在 DOM 中,文档中的各个组件(component),可以通过 object.attribute 这种形式来访问。一个 DOM 会有一个根对象,这个对象通常就是 document。

而 BOM 除了可以访问文档中的组件之外,还可以访问浏览器的组件,比如 navigator(导航条)、history(历史记录)等等。

在这种 「XOM」的模型中,最应该理解的就是 Object Model。Object Model 就表示你可以通过像操作对象一样,来操作这个 X。

什么是对象(Object)?

在编程领域中,对象就是指的一种拥有具体数据(Data)并且具有(并不总是)特定行为(Behavior)的东西。例如,一个人 ,就可以看做一个对象。人的年龄、性别、身高、体重就是上文说的具体「数据」,通常将对象拥有的具体数据称作对象的「属性(Attribute)」;而人吃饭,睡觉,行走等能力,就是上文所说的「行为」,通常,我们把对象的行为称作对象的「方法(Method)」。另外,对象是可以嵌套的,也就是是说,一个对象的属性也可以是对象。

上文所说的「像操作对象一样」,最主要就是指访问对象的属性和调用对象的方法。对象的属性可以通过 object.attribute 这种形式来访问,对象的方法可以通过 object.method(arguments) 这种形式来调用。

对应到 DOM 中,document 这个根对象就有很多属性,例如 title 就是 document 的一个属性,可以通过 document.title 访问;document 对象也有很多方法,例如 getElementById,可以通过document.getElementById(nodeId) 调用。
 
 

Dom:

概念:

在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型。

methods:

 

方法描述
getElementById() 返回带有指定 ID 的元素。
getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。
appendChild() 把新的子节点添加到指定节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
insertBefore() 在指定的子节点前面插入新的子节点。
createAttribute() 创建属性节点。
createElement() 创建元素节点。
createTextNode() 创建文本节点。
getAttribute() 返回指定的属性值。

setAttribute()

把指定属性设置或修改为指定的值。

content:

  • 改变 HTML 内容
  • 改变 HTML 样式
  • 使用事件

应用:处理可扩展标志语言

 

Bom:

概念:

描述对象与对象之间层次关系模型。

主要功能:

1. 弹出新浏览器窗口的能力;
2. 移动、关闭和更改浏览器窗口大小的能力;
3. 可提供WEB浏览器详细信息的导航对象;
4.可提供浏览器载入页面详细信息的本地对象;
5 .可提供用户屏幕分辨率详细信息的屏幕对象;
6. 支持Cookies;
7. Internet Explorer对BOM进行扩展以包括ActiveX对象类,可以通过JavaScript来实现ActiveX对象。 
posted @ 2018-10-25 00:30  Faith林夕  阅读(208)  评论(0编辑  收藏  举报