DOM (2) : 元素的 6 层原型链

192 阅读1分钟

image.png

image.png

打开div查看属性

image.png

第一层原型:HTMLDivElement

image.png div.__proto__ 不等于这个全局变量HTMLDivElement

  • 一个函数的__proto__ 等于它的构造函数的 prototype

  • JS的所有对象都有一些隐藏属性。这些隐藏属性都指向了对象的原型.

image.png

image.png

image.png

image.png

  • HTMLDivElement 和 Element 有什么区别???

节点? 元素?

  • 节点包含Node包括以下几种
  • MDN 有完整描述
  • 1.表示元素 Element, 也叫标签Tag ✔
  • 3.表示文本 Text ✔
  • 8.表示注释 Comment
  • 9.表示文档 Document
  • 11.表示文档片段DocumentFragment (标签和文字的共同属性就放在Node这里)

DOM编程.png

抓一只div对象来看看

  • console.dir(div1)看原型链
  • 告诉你一个秘密:Chrome显示错了
  • 自身属性:className , id, style 等等

  • 第一层原型: HTMLDivElement.prototype 这里是所有div共有的属性,不用细看
  • 第二层原型HTMLElement.prototype 这里是所有HTML标签的共有属性,不用细看
  • 第三层原型Element.prototype 这里是所有XML,HTML标签的共有属性。(浏览器不仅仅能展示HTML)
  • 第四层原型Node.prototype 这里是所有节点共有属性,节点包括XML标签文本注释,HTML标签文本注释等等。
  • 第五层原型EventTarget.prototype 里面最重要的函数属性就是 addEventListener
  • 最后一层原型就是Object.prototype了

image.png 这里我找不到text??? image.png