Function
和Object
是函数的特殊类型,因为以大写字母开头,所以它们是构造函数,对吧?
作为JavaScript中一等公民的函数也可以具有方法(作为属性存储在对象中的函数)。
所以函数就是对象,对不对?构造函数Function
的属性prototype
具有typeof“ function”,而构造函数Object
的属性prototype
具有typeof“ object”。
为什么两次都不“反对”?
typeof Function.prototype
>"function"
typeof Object.prototype
>"object"
Function.prototype
> ƒ () { [native code] }
Object.prototype
> {…}