BOM和DOM的定义
BOM(Browser Object Model)是浏览器对象模型,描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作,例如弹出新窗口、改变状态栏文本、对Cookie的支持等。DOM(Document Object Model)是文档对象模型,是针对XML的基于树的API,描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。1
BOM和DOM的区别
BOM和浏览器关系密切,涉及浏览器的很多操作,如打开新窗口、关闭页面等,这些功能与网页内容无关。而DOM和文档有关,关注的是网页本身的内容,如HTML文档的结构和内容。此外,BOM没有相关标准,不同的浏览器实现同一功能可能需要不同的实现方式,而DOM是W3C的标准,有统一的处理方式。1
BOM和DOM的联系
BOM的核心对象是window,而window对象又具有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是一个全局对象。DOM的最根本对象是document,实际上是window.document ,这意味着DOM对象是BOM对象的一部分。通过BOM的window对象可以访问到DOM对象,从而JavaScript可以操作浏览器以及浏览器读取到的文档。