为什么“HTMLDocument==Function.prototype”是false?

FnaticE 2021-04-22 07:18:12
对DOM的理解还很粗浅。HTMLDocument应该是一个构造函数,根据原型继承,这些都没问题:
HTMLDocument.constructor == Function //true
HTMLDocument.prototype == document.__proto__ //true
HTMLDocument == document.constructor //true

咋的这个就是false了呢?
HTMLDocument.__proto__==Function.prototype // false

毕竟一般性的构造函数的原型都指向Function.prototype的吧:
function Foo(){};
Foo.__proto__==Function.prototype; //true
...全文
113 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
FnaticE 2021-04-23
  • 打赏
  • 举报
回复
感觉DOM基于JS,所有的操作规则都是纯JS的规则,比如dom节点全是对象。 其实我的问题有了解答,是这样的:
Object.getPrototypeOf(HTMLDocument)
// ƒ Document() { [native code] }
Object.getPrototypeOf(Document)
// ƒ Node() { [native code] }
Object.getPrototypeOf(Node)
// ƒ EventTarget() { [native code] }
Object.getPrototypeOf(EventTarget)
// ƒ () { [native code] }
HTMLDocument.__proto__.__proto__.__proto__.__proto__ === Function.prototype //true
丰云 2021-04-23
  • 打赏
  • 举报
回复
dom对象跟js对象,区别很大的

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧