javascript - 在 JavaScript 中,为什么 typeof Function.prototype 是 "function",而不是像其他原型(prototype)对象那样 "object"?

标签 javascript prototype

console.log(typeof String.prototype); // object
console.log(typeof Number.prototype); // object
console.log(typeof Object.prototype); // object
console.log(typeof Boolean.prototype); // object

console.log(typeof Function.prototype); // function

为什么typeof Function.prototype返回“function”,而不是像其他原型(prototype)对象一样返回“object”?

谢谢!

最佳答案

这似乎是在 ECMAScript 5 中定义的:

15.3.4 Properties of the Function Prototype Object

The Function prototype object is itself a Function object (its [[Class]] is "Function") that, when invoked, accepts any arguments and returns undefined.

关于javascript - 在 JavaScript 中,为什么 typeof Function.prototype 是 "function",而不是像其他原型(prototype)对象那样 "object"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4859308/

相关文章:

javascript - 向 Safari 中 undefined object 原型(prototype)新添加的函数/属性

javascript - 无法在 Firefox 中读取 Element.prototype

javascript - 在原型(prototype)与构造函数中声明属性?优点和缺点?

javascript - 函数式编程是否使用对象数据结构?

javascript - PhantomJS 屏幕截图 D3.js 数据图

javascript - 使用 JavaScript 事件委托(delegate)设置删除事件监听器的有效方法是什么

javascript - 在javascript中使用变量的值作为变量

javascript - 为什么改变对象的 [[prototype]] 会降低性能?

javascript - Zepto.js 不返回 false?

javascript - Keypress 在 IE 中不起作用(Keydown 和 Keyup 发布表单)