- 所以对象(包括函数)都有隐式属性__proto__ 函数的__proto__与Function.prototype等价
function fn(a) {
this.a = a
this.b = 20
return [22, 77, 55]
}
console.log(fn.__proto__)
console.log(Function.prototype)
console.log(fn.__proto__ === Function.prototype)
普通对象的__proto__为创造这个对象的构造函数的原型对象(构造函数.prototype)
- 在JavaScript中,我们创建一个函数A,那么浏览器就会在内存中创建一个对象B,而且每个函数都默认会有一个属性 prototype 指向了这个对象(即:prototype的属性的值是这个对象 )。这个对象B就称作是函数A的原型对象,简称函数的原型。这个原型对象B 默认会有一个属性constructor指向了这个函数A ( 意思就是说:constructor属性的值是函数A )。
普通对象是没有prototype这个属性的