标签: javascript function object prototype
我一直认为javascript中的函数是对象,Function.__proto__等于Object.prototype。但是当我在chrome控制台中输入以下代码时,输出是
Function.__proto__
Object.prototype
> Function.__proto__ === Object.prototype; > false > Object.__proto__ === Function.prototype; > true
我现在很困惑。函数是否继承自对象?或者它是相反的?
答案 0 :(得分:2)
Object是一个函数(您可以使用new Object()),因此:
Object
new Object()
Object.__proto__ === Function.prototype // true
同样,Function是一个函数(您可以使用new Function()),因此:
Function
new Function()
Function.__proto__ === Function.prototype // true
如果我们深入一级,所有函数都是对象,因此:
Function.__proto__.__proto__ === Object.prototype // true