构造函数的原型属性(prototype)中,除了拥有构造方法constructor之外,还有一个 proto 属性,该属性指向父亲的原型对象(prototype)。
    对象的 proto 属性指向了函数的原型,就构成了原型链。

    1. function Person() {
    2. }
    3. Person.prototype.eat=function () {
    4. console.log("吃东西");
    5. };
    6. var per=new Person();
    7. console.dir(per);//实例对象的结构
    8. console.dir(Person);//构造函数的结构
    9. //实例对象中有__proto__原型
    10. //构造函数中有prototype原型
    11. //prototype是对象
    12. //所以,prototype这个对象中也有__proto__,那么指向了哪里
    13. //实例对象中的__proto__指向的是构造函数的prototype
    14. //所以,prototype这个对象中__proto__指向的应该是某个构造函数的原型prototype
    15. console.log(Person.prototype.__proto__ == Object.prototype)
    16. console.log(Object.prototype.__proto__) //null

    image.png

    1537518607776.png