为什么“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
...全文
75 点赞 收藏 2
写回复
2 条回复
FnaticE 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
回复 点赞
丰云 04月23日
dom对象跟js对象,区别很大的
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告