【发布时间】:2015-07-29 16:52:27
【问题描述】:
我的理解是 Object.__proto__ 是 javascript 中的“顶级”原型对象。我希望它的__proto__ 为空,但在 Google Chrome 中(没有尝试过其他浏览器),它不是。这是为什么呢?
编辑
【问题讨论】:
标签: javascript prototype
我的理解是 Object.__proto__ 是 javascript 中的“顶级”原型对象。我希望它的__proto__ 为空,但在 Google Chrome 中(没有尝试过其他浏览器),它不是。这是为什么呢?
【问题讨论】:
标签: javascript prototype
我认为您将Object.__proto__ 误认为Object.prototype。
Object.prototype.__proto__ 确实为 null,因为 Object 没有扩展任何内容。
Object 本身,然而,是一个函数 - 也就是。 Function 的一个实例。
由于Function 扩展了Object,它的原型有一个__proto__ 属性。
因此,您实际上可以绕道Object.__proto__.__proto__ 到达Object.prototype:
Object.prototype === Object.__proto__.__proto__ // should yield true
【讨论】: