函数原型 属性

Prototype property of functions

当我尝试访问函数的原型 属性 时,它给了我以下结果:

console.log(Function.prototype); //  () { [native code] }

但是当我对其他对象执行相同的操作时 Arrays 它向我显示了 Array 的实际原型,其中链接了所有方法

console.log(Array.prototype); //  [constructor: ƒ, concat: ƒ, copyWithin: ƒ, fill: ƒ, find: ƒ, …]

我真正想知道的是为什么 Functions 表现不同。

使用 console.log 记录函数将记录函数的文本。如果函数没有写成 JavaScript - 例如,像这里一样,如果实现是由环境提供的 - 它会给你 [native code] 相反。

但是至少在 Chrome 中有一个简单的方法来记录函数的属性:使用 console.dir.

console.dir(Function.prototype)
<img src=" https://i.stack.imgur.com/6GEij.png">

它为您提供了预期的函数属性,至少在 Chrome 和 FF 中都是如此。

Function.prototype 的功能描述为 here