美文网首页
构造函数、原型对象、实例对象关系

构造函数、原型对象、实例对象关系

作者: 箩篼 | 来源:发表于2018-11-14 16:43 被阅读0次
  • 每个构造函数都有一个默认的属性, 叫做prototype, 这个属性指向一个对象(原型对象)
  • 每个原型对象都有一个默认的属性, 叫做constructor, 这个属性指向原型对象对应的构造函数
  • 每个对象都有一个默认的属性, 叫做_proto_(双杠), 这个属性指向创建它的构造函数的原型对象
    上代码
    // 定义一个构造函数
    function Person(name, age) {
        this.name = name;
        this.age = age;
    }
    // 给构造函数的原型对象添加属性和方法
    Person.prototype.say = function () {
        console.log(this.name, this.age);
    };
    Person.prototype.type = "Human";
    
    // 通过构造函数创建对象
    var obj1 = new Person("luodou", 13);

    console.log(obj1);  //Person

    console.log(Person.prototype);  //Object
    console.log(obj1.__proto__);    //Object
    console.log(obj1.__proto__ === Person.prototype); // true
    console.log(obj1.__proto__.constructor);    //ƒ Person(name, age) {this.name = name;this.age = age;}
    console.log(Person.prototype.constructor);  //ƒ Person(name, age) {this.name = name;this.age = age;}
    console.log(obj1.__proto__.constructor === Person.prototype.constructor);  //true

关系图

原型链

上图


看图,不解释

  • 注意Person的原型对象实质上是Object的一个实例,任何自定义的对象,在原型链上都可以找到Object
    待续......

相关文章

  • 原型链

    构造函数、原型、实例的关系 通过构造函数创建实例 每个构造函数都有一个原型对象 原型对象到包含一个指向构造函数的指...

  • 12.如何查找构造函数和原型的属性

    构造函数.prototype 查看构造函数的原型属性实例对象.ptoto 查看实例对象的构造函数的原型实例对象...

  • js继承

    继承 构造函数 原型对象 对象实例 三者之间的关系 每个构造函数都拥有一个原型对象,构造函数.prototy...

  • 继承的几种方式

    构造函数,原型和实例的关系每个构造函数都有一个原型对象prototype,原型对象中有个constructor属性...

  • JS继承的相关问题

    构造函数、原型对象和实例之间的关系? 每个构造函数都有一个 prototype 属性指向原型对象,原型对象中有一个...

  • 继承

    构造函数、原型和实例的关系: 每个构造函数都有其对应的原型对象;每个原型对象都有一个构造函数指针construct...

  • 构造函数,实例,原型关系详解

    1.构造函数,实例,原型三者关系如下 构造函数的prototype指向其原型对象 原型对象的constructor...

  • javascirpt复习

    实例中访问构造函数原型的指针,指向的是构造函数原型,不是构造函数; 所以重写构造函数原型对象,【实例对象】访问还是...

  • js原型链/instanceof原理/new运算符

    1、对象的创建 2、原型、原型链、实例、构造函数的关系 prototype 表示原型对象,是区别于构造函数本身的...

  • 原型链

    简单回顾一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例...

网友评论

      本文标题:构造函数、原型对象、实例对象关系

      本文链接:https://www.haomeiwen.com/subject/sojjfqtx.html