JavaScript面向对象(二):继承

本文详细讲解了JavaScript类继承的两种主要方法:通过apply和通过prototype。通过apply的方法直观且易于理解,而使用prototype则展示了如何在类间复制功能并实现继承效果。此外,文章还阐述了prototype在JavaScript中的作用,即用于扩展类的功能。

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

JS类的继承

JS类继承的方式有几种,这里讲两种比较简单易懂、有代表性的。

 

方法1:通过apply

function father(){
this.job = "president";
}


function son(){
father.apply(this,arguments);
this.info = "student";
}


var ss = new son();
document.write(ss.job); //输出president

 

 

方法2:通过prototype

 

function father(){
this.job = "president";
}


function son(){
this.info = "student";
}
son.prototype = new father();
son.prototype.constructor = son;



var ss = new son();
document.write(ss.job);

 

如果习惯了java,C++中类继承的用法,那方法1容易理解点,也比较直观。

 

prototype用处

在js中prototype是个不太好理解的概念。关于它的定义是: 返回对象类型原型引用。

它只能在类身上使用,不能在类的实例化对象上使用。你可以简单的理解成,我们通过它能扩展类的功能。

像类的继承中,son.prototype = new father();  可以理解成把father的功能复复制给son了,但这样一来就覆盖掉了son原来的功能,再通过son.prototype.constructor =son把原来的功能找回来。 这样son就同时拥有之前的功能和father的功能,达到了继承的效果。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值