一图胜千言,先来理解一张图
原型及原型链理解
每一个对象都有一个__proto__指针,默认指向它的构造函数的原型对象prototype(
原型对象prototype的construstor属性指向构造函数本身
),因为prototype也有__proto__继续向上寻找构造函数的原型对象,形成原型链。最终的__proto__指向Null
。
Function与Object关系
个人理解: Object.prototype是最顶端的
原型对象
,Object.prototype构造出了Function.prototype。Function.prototype构造出Function和Object。网上有许多争议。仅个人理解(万物皆对象嘛
)
相关题目
> console.log(Function instanceof Object) //true
> console.log(Object instanceof Function) //true
> console.log(Object.__proto__ === Function.prototype) //true
> console.log(Function.__proto__.__proto__ === Object.prototype;) //true
> // 理解了上面那张图,这些应该都不是问题 罒ω罒