• 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
  • 相关阅读:
    CCNA 6.9
    CCNA 6.5
    Google search
    CCNA 4.14 TP Correction
    CCNA 6.3
    CCNA 6.6
    有关 英语学习的一些网站
    法语学习笔记
    垃圾邮件分类(Scala 版本)
    SQL 面试经典问题 行列互相转化
  • 原文地址:https://www.cnblogs.com/jane-panyiyun/p/12152721.html
Copyright © 2020-2023  润新知