在MDN站点中,为什么说Object.prototype继承自Function.prototype

时间:2014-01-02 15:14:23

标签: javascript oop inheritance prototype

我理解Object.prototype。 proto = null是链的末尾(所以说浏览器控制台)。

在MDN网站的Object.prototype页面:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype

在页面底部的“继承:”下,您将看到“功能”,其中包含可扩展属性&下面的方法。根据我的理解,它说Object.prototype继承了Function.prototype.bind()等方法

我可以理解Object构造函数共享非原型属性/方法(例如调用者属性),因为它是由Function构造函数fn构造的。但是当Object.prototype。 proto 为空时,Object.prototype如何从Function.prototype继承?

请有人点光吗?

1 个答案:

答案 0 :(得分:1)

它指的是Object构造函数继承的内容,而不是对象实例。所有构造函数都是函数,因此Object函数本身继承自Function.prototype

当你在页面上看到通知时说:

  

从Function继承的属性:   arity,caller,constructor,length,name

更容易理解其含义 - 它指的是Object.constructorObject.length等属性是如何从Function继承的。

无论如何,是的,Object.prototype.__proto__ === null - Object.prototype根本没有从Function.prototype继承,正如你所想的那样。