Function.prototype
的原型是 Object.prototype
。在 JavaScript 中,所有对象都是从某个原型衍生而来的,最终所有的对象都可以追溯到 Object
。
原型链结构
Function
是 JavaScript 中的一个内置构造函数,用于创建函数对象。Function.prototype
是从Object
继承来的,它也具有Object.prototype
的所有属性和方法。
具体的继承关系可以表示为:
Function -> Function.prototype -> Object.prototype -> null
说明:
- Function:是创建函数的构造器。
- Function.prototype:是所有函数实例的原型,并且提供了一些函数特有的方法(如
call
、apply
、bind
等)。 - Object.prototype:是所有 JavaScript 对象的基础原型,提供了对象的基本操作方法,例如
toString()
、hasOwnProperty()
等。
例子
你可以使用 Object.getPrototypeOf()
来查看原型关系:
console.log(Object.getPrototypeOf(Function.prototype) === Object.prototype); // 输出: true
console.log(Object.getPrototypeOf(Object.prototype)); // 输出: null
在这个例子中:
- 我们检查了
Function.prototype
的原型是否为Object.prototype
,结果返回true
。 - 进一步检查
Object.prototype
的原型时,返回null
,表明它是原型链的最顶层。
总结
Function.prototype
的原型是Object.prototype
,形成了一个原型链结构。- 这使得所有函数对象不仅可以访问
Function.prototype
中的方法,也可以访问Object.prototype
中的方法,从而使得 JavaScript 的对象和函数有着一致的能力和行为。