ECMASCRIPT将原型对象定义为构造函数的原型属性。

以下是从ECMA-262复制而来:

4.3.4
建设者
创建和初始化对象的功能对象
注意构造函数的“ prototype”属性的值是一个原型对象,用于实现继承和共享属性。

为什么HTMLDivElement.constructor.prototype == HTMLDivElement?

如果a是HTMLDivElement对象,则Object.getPrototypeOf(a)返回HTMLElement,而它应返回HTMLDivElement的constructor.prototype。

这与ECMA标准完全矛盾。

请帮助我理解这个概念。

最佳答案

Chrome控制台向我显示:


  HTMLDivElement.constructor.prototype == HTMLDivElement




它在控制台中显示为HTMLDivElement的事实并不意味着它是HTMLDivElement

另外:HTMLDivElement.constructor.prototype == HTMLElement.constructor.prototype

10-06 04:49