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

本文深入探讨JavaScript中类的两种定义方式:构造函数与ES6的class声明。同时,详细解析四种继承方式的优缺点,包括构造函数、原型链、组合方式及优化后的组合方式,帮助读者全面理解JavaScript类与继承的实现机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类与实例

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

    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

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

转载于:https://www.cnblogs.com/llcMite/p/11106756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值