面试视频知识点整理1-9(面向对象)

类与实例

    定义类的方式大概有两种:

    1)使用构造函数

    2)使用es6的class声明

类与继承

    继承方式有几种?

    1)使用构造函数 (call,apply)      缺点:没法继承父级的原型

    2)  使用原型链      优点:可以继承腹肌的原型     缺点:原型对象是共用的,它的属性会被修改

    3)组合方式(构造函数+原型链) 优点:弥补构造函数及原型链的不足  缺点:父级的函数执行了两次

    4)组合方式的优化   

function Parent(){
   this.name="parent";
   this.play=[1,2,3];
}


function Child(){
    parent.call(this);
    this.type="child";
}

//这里使用Object.create隔离Parent的原型对象,否则改constructor会连Parent的一起改了
Child.prototype=Object.create(Parent.prototype);
Child.prototype.constructor=Child;
View Code

注意点:面试的时候不要只写最好的那种,把这几种都写上,并且把这几点仔细的给面试官讲解区别

扫描二维码关注公众号,回复: 6677789 查看本文章

猜你喜欢

转载自www.cnblogs.com/llcMite/p/11106756.html
今日推荐