关于DOM和BOM

57 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情

由于本人在学习js基础的时候,学习的不是很认真,所以导致js基础这一块并不是很牢固,那么大家都知道,js基础是vue,react的基本功,所以js基础是非常重要的。

而我们的JavaScript有三大部分组成,ECMAScript,DOM,BOM

image.png

而ECMAScript是一种语言规范,在这里我们不过多叙述,主要讲解DOM和BOM这两部分。

  • BOM

什么是BOM,BOM(Browser Object Model)浏览器对象模型,提供了内容和浏览器窗口交互的对象,核心对象就是window。它是一个JS访问浏览器窗口的一个接口,定义了一个全局对象,定义在全局作用域中的变量,函数会变成window对象的属性和方法

那么window有哪些常见属性和方法呢

  1. alert弹出框和confirm确认框
  2. history历史
  3. screen屏幕信息
  4. Navigator浏览器相关信息
  5. windows浏览器对象
  6. location浏览器地址

而BOM通常是我们用于与浏览器交互使用,例如alert弹框,获取信息啊等等。 BOM是不同的浏览器厂商在各自浏览器定义的,所以也就会有不同的样式,方法,这也就是为什么有些时候要做头疼的兼容性问题。

  • DOM

顾名思义DOM(document object model)文档对象模型

  1. 一个页面就是一个document文档
  2. 页面中所有标签都是元素,DOM中使用element表示
  3. 网页中的所有内容都是节点(标签,属性,文本,注释等),DOM中用node表示

我们通常学习DOM就是操作文档对象中的节点,对节点进行增删改,并对节点做出样式更替。而DOM既然是文档对象模型,那么他就是挂载在window这个对象当中的,所以DOM中的顶级对象document是在window对象的下面,也就是存在于BOM中的window对象之下