原型对象和原型链

JS中存在一种原型和原型链

<script>
    //构造函数
    function Person(name, age) {
        this.name = name;
        this.age =age;
        //在构造函数中的方法
        this.eat = function () {
            console.log("eat的相关方法")
        };
        //这种写法,每个实例对象都会开辟出来一份内存空间,很容易浪费内存
    }
    //添加共享属性
    Person.prototype.sex = "男";
    //添加共享方法
    Person.prototype.say = function () {
        console.log("今天是星期五")
    };
    //实例化对象
    let per = new Person("小明", 20)
    per.say();
    console.dir(per)
    console.dir(Person)
</script>

实例对象的原型__proto__和构造函数的prototype指向是相同的,也就是说实例实例对象中的__proto__指向的就是都早函数中的原型prototype,实例对象中的__proto__是浏览器用的,而构造函数中的prototype是作为程序员是使用的

原型链是一种关系:实例对象和原型对象之间的关系,这种关系就是通过 __proto__来维持的

posted @ 2022-04-03 23:08  飞航之梦  阅读(15)  评论(0)    收藏  举报