js继承

js继承

首先,我们应该理解,什么是继承?所谓继承,通俗讲,就是从某人处得到某些东西,大部分情况下都是儿子从父亲那继承。现在网上也有一句玩笑,叫“你想笑死我,然后继承我的蚂蚁花呗吗”。
js中的继承,同样也可以理解为上述意思,即从子从父那获取属性和方法。
在这里,我们介绍一下使用构造函数继承和prototype继承

1.构造函数继承

此方法是通过使用call或者apply将子构造函数中的this指向变为父构造函数,但是其缺点是父对象中的属性和方法并没有继承。
代码实现:

function Computer(name, type) {
	this.name = "电脑";
	this.type = "电器";
}

function Dell(name, type, color) {
	Computer.call(this,name,type);
	this.color = color;
}
  var dell1 = new Dell('blue');
  alert(dell1.name);//=>电脑

上述代码,通过call方法使得Dell继承了Computer的name和type。在输出子构造函数Dell的构造对象的name时,结果为“电脑”。

2.prototype继承

此方法主要是通过构造函数的prototype属性,将父构造函数构造的对象作为子构造函数的原型,与此同时子构造函数也继承了父构造函数,这就需要将洗构造函数指向其本身。
代码实现:

function Computer(name,type){
	this.name = "电脑";
	this.type = "电器";
}

function Dell(name, type, color) {
	Computer.call(this,name,type);
	this.color = color;
}
Dell.prototype=new Computer();
Dell.prototype.constructor=Dell;
var dell1 = new Dell('blue');
alert(dell1.name);//=>电脑
alert(dell1.type);//=>电器

————————————————————————————————————————————

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值