JS高级---原型链最终的指向是Object的prototype, 而Object中的__proto__是null


 原型链最终的指向

 

  1. 原型链最终的指向是Object的prototype, 而Object中的__proto__是null
  2. 如果原型指向改变了, 那么就应该在原型改变指向之后添加原型方法

 

 

    function Person() {

    }
    Person.prototype.eat = function () {
      console.log("吃东西");
    };

    var per = new Person();
    console.dir(per);
    console.dir(Person);

    //实例对象中有__proto__原型
    //构造函数中有prototype原型
    //prototype是对象
    //所以,prototype这个对象中也有__proto__,那么指向了哪里
    //实例对象中的__proto__指向的是构造函数的prototype
    //所以,prototype这个对象中__proto__指向的应该是某个构造函数的原型prototype

    //Person的prototype中的__proto__的指向
    //console.log(Person.prototype.__proto__);

    //per实例对象的__proto__------->Person.prototype的__proto__---->Object.prototype的__proto__是null

    console.log(per.__proto__ == Person.prototype); //true
    console.log(per.__proto__.__proto__ == Person.prototype.__proto__); //true 
    console.log(Person.prototype.__proto__ == Object.prototype); //true 
    console.log(Object.prototype.__proto__); //null


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM