- 概念:
1.BOM(Browser Object Model):
浏览器对象模型,从名字上就能知道它和浏览器关系密切。浏览器的很多行为是通过JavaScript控制的,例如打开新窗口、打开关闭标签页、把网页设为主页或添加到收藏夹等等,这些功能的实现实质上就是对BOM的操作,BOM就是由一系列独立于内容而与浏览器窗口进行交互的对象构成的。
2.DOM(Document Object Model):
文档对象模型,它和文档有关,这里的文档指的是网页。网页是由服务器发送给客户端浏览器的,无论用什么浏览器,接收到的HTML都是一样的,所以DOM和浏览器无关,它关注的是网页本身的内容。DOM定义了一系列对象,用于访问、操纵和创建文档中的内容、结构、样式以及行为。当更改页面内容时,JavaScript就通过DOM来获得对文档( HTML、XHTML 以及 XML 文档)中所有元素进行访问的入口,以及对元素进行添加、移动、改变或移除的方法和属性。
- 联系与区别:
2.Javascript由ECMAScript和BOM组成,BOM中包含DOM。其中ECMAScript描述了该语言的语法和基本对象,
BOM描述与浏览器进行交互的方法和接口,DOM描述处理网页内容的方法和接口。
3.BOM没有标准,DOM的标准是W3C(万维网联盟),JavaScript语法的标准化组织是ECMA。
4.BOM的根本对象是window对象,它表示整个浏览器窗口,但不表示其中包含的内容。DOM的根本对象是
document对象,它实际上是window对象的属性。document是一个既属于BOM又属于DOM的对象。
理解了BOM和DOM以及它们与javascript的关系后,感觉脑子中的一大片霾退散了,“盲人摸象”又有了新进展。javascript是一种基于对象和事件驱动的语言,有了BOM和DOM中定义的对象,就可以通过改变对象的属性、执行对象的方法来实现现实世界中的具体功能了,这与之前开发C/S项目是一样的。