JavaScript| 青训营笔记

71 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第4天

Bom是浏览器对象。它提供与浏览器的交互5大属性。
分别是:document,history,screen,navigator,location

JavaScript操作网页的接口,全称为“文档对象模型(Document Object Model)。
有这几个概念:文档、元素、节点
整个文档是一个文档节点
每个标签是一个元素节点
包含在元素中的文本是文本节点
元素上的属性是属性节点
文档中的注释是注释节点

DOM本质 DOM树: DOM树是结构,树是由DOM元素和属性节点组成的,DOM的本质是把html结构化成js可以识别的树模型;

有了树模型,就有了层级结构,层级结构是指元素和元素之间的关系父子,兄弟。

原型:

js中万物皆为对象,每一个对象都有自己的属性
原型的出行是为了让多个对象可以共享一个属性或者方法\

prototype

每个函数都有一个prototype属性,被称为显示原型

_ proto _

每个实例对象都会有_ proto 属性,其被称为隐式原型; 每一个实例对象的隐式原型 proto _属性指向自身构造函数的显式原型prototype

constructor

每个prototype原型都有一个constructor属性,指向它关联的构造函数。

原型链:

获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不到,就去找原型的原型, 一直找到最顶层(Object.prototype)为止。Object.prototype对象也有__proto__属性值为null

DOM事件两种类型 事件类型分两种:事件捕获、事件冒泡。

事件捕获就是由外往内,从事件发生的顶点开始,逐级往下查找,一直到目标元素。 事件冒泡就是由内往外,从具体的目标节点元素触发,逐级向上传递,直到根节点。

DOM事件的事件流(事件传播) 事件流就是,事件传播过程。 DOM完整的事件流包括三个阶段:事件捕获阶段、目标阶段和事件冒泡阶段。 事件通过捕获到达目标元素,这个时候就是目标阶段。 从目标节点元素将事件上传到根节点的过程就是第三个阶段,冒泡阶段。

事件捕获的具体流程 当事件发生在 DOM元素上时,该事件并不完全发生在那个元素上。在捕获阶段, 事件从window开始,之后是document对象,一直到触发事件的元素。

事件冒泡的具体过程 当事件发生在DOM元素上时,该事件并不完全发生在那个元素上。在冒泡阶段,事件冒泡, 或者事件发生在它的父代,祖父母,直到到达window为止。