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

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

作者: 1CC4 | 来源:发表于2020-03-31 17:09 被阅读0次

    一、原型对象

    每一个构造函数都有一个原型对象属性,指向另一个对对象,这个对象就叫原型对象

    关系:

    • 构造函数 (prototype连接) 原型对象
    • 原型对象(constructor连接)构造函数
    • 构造函数(new)实例对象
    • 实例对象(_ proto _ 连接)原型对象

    二、属性搜索方法

    function Person(name,age){
      this.name = name;
      this.age=age;
    }
    Person.prototype.sayName=function(){
      console.log('name')
    }
    //创建实例对象
    const p1 = new Person();
    p1.sayName();
    

    如上代码,构造函数中没有sayName()方法,则实例化对象会搜索构造函数的原型对象中同名的方法

    三、原生对象的原型对象

    Array.prototype.方法名=function(){
    
    }
    

    可以构造原生对象的方法,比如:倒序

    四、原型对象方法的简写

    Pserson.prototype = {
      constructor : Person,  =>手动将constructor 指向构造函数,不需要去定义函数方法
      name:"张三"
    }
    

    五、改变原型指向

    Student.prototype = new Person();
    

    将构造函数Student的原型对象指向Person,这样就可以使用Person的方法和属性

    相关文章

      网友评论

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

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