BOM与DOM

JavaScript的实现包括以下3个部分:  
ECMAScript(核心) 描述了JS的语法和基本对象。
文档对象模型 (DOM) 处理网页内容的方法和接口
浏览器对象模型(BOM) 与浏览器交互的方法和接口

BOM:

BOM是browser object model的缩写,简称浏览器对象模型

BOM 是为了操作浏览器出现的 API,window 是其的一个对象。

  要让浏览器跳转到另一个页面,只需要 :location.href = "http://www.xxxx.com";这个 location 就是 BOM 里的一个对象

DOM:

  DOM 全称是 Document Object Model,也就是文档对象模型。

  DOM 是为了操作文档出现的 API,document 是其的一个对象;

  是针对XML的基于树的API。描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。

  为了操作 HTML 中的元素,比如说我们要通过 JS 把这个网页的标题改了,直接这样就可以了:document.title = 'how to make love'  ;

区别:

  DOM 是为了操作文档出现的 API,document 是其的一个对象;
  BOM 是为了操作浏览器出现的 API,window 是其的一个对象。

  BOM是浏览器对象模型,DOM是文档对象模型,前者是对浏览器本身进行操作,而后者是对浏览器(可看成容器)内的内容进行操作

     由于BOM的window包含了document,因此可以直接使用window对象的document属性,通过document属性就可以访问、检索、修改XHTML文档内容与结构。

     因为document对象又是DOM(Document Object Model)模型的根节点。可以说,BOM包含了DOM(对象),浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览

器以及浏览器读取到的文档.

DOM管理:

E区(由web开发人员呕心沥血写出来的一个文件夹,里面有index.html,CSS和JS什么鬼的,部署在服务器上,我们可以通过浏览器的地址栏输入URL然后回车将这个document加载到本地,浏览,右键查看源代码等)

BOM管理:

A区(浏览器的标签页,地址栏,搜索栏,书签栏,窗口放大还原关闭按钮,菜单栏等等)

B区(浏览器的右键菜单)

C区(document加载时的状态栏,显示http状态码等)

D区(滚动条scroll bar)

原文地址:https://www.cnblogs.com/QQBOSS/p/9847811.html