console.log(Function.__proto__ === Function.prototype) 输出为 true

如何理解

console.log(Function.__proto__ === Function.prototype)  输出为 true

求大佬解惑

阅读 2.5k
2 个回答

我的理解:
1、所有函数本质都是从Funtion构造函数创建的,所有函数都是Function的实例对象
2、实例对象隐式原型指向构造函数的显示原型
3、Funtion也是一个函数,所有Function的隐式原型__proto__指向构造函数Function的显示原型prototype

clipboard.png
如上,尝试打印了一下对应的内置函数的 __proto__;可能下面这张图更直观一点
clipboard.png

得出如下三个结论:

1. 每一个内置类型 如 Array Object 等,自身 的__proto__指向 Function类型 的 prototype 对象,包括函数自身,因此有了这个问题的答案

console.log(Function.__proto__ === Function.prototype) // true

2. 每一个类型(Object除外)的原型对象(prototype)的__proto__都指向Object.prototype
3. Object.prototype.__proto__ 指向 null

推荐问题
宣传栏