原型、原型链、继承

只要创建一个新的函数就会创建一个prototype属性,这个额属性指向函数的原型对象,默认情况下所有的原型对象都会自动会的一个constructor属性,这个属性指向prototype属性所在函数的指针

原型链是原型对象创建过程的历史记录

原型?

  prototype 就是原型,它是一个对象,我们也称它为原型对象

原型的作用?

  数据共享,节约内存空间,实现继承

原型继承:子构造函数的原型指向父构造函数的原型

原型链的继承:

  核心:让子类的原型指向父类的实例

  优点:父类的方法可以复用

  缺点:子类构建实例时,不能向父类传递参数

构造函数的继承:

  核心:将父类构造函数的内容复制给了子类的构造函数,这是所有继承中唯一一个不涉及prototype的继承

  优点:父类的属性不能共享,子类构建实例时,可以向父类传递参数

  缺点:父类的方法不能复用子类实例的方法没次都是单独创建

寄生组合继承:最理想的继承方式

  Female.prototype=new Person();//第一次调用父类构造函数

  Female.prototype.constrcutor=Female;//因重写原型而失去constructor属性,所以要对constrcutor重新赋值

posted @ 2020-06-01 06:00  小哈哈668  阅读(73)  评论(0编辑  收藏  举报