什么是原型链?

原型链?

在博客园看到的一篇文章,感觉描述很清晰,为了防止自己忘记,特此理解性的记录下来,也供大家一起学习,如有不对之处请拍案指出,谢谢。
原型链是针对构造函数的,比如我先创建了一个 Plane 构造函数,然后给这个函数赋予 fly 的方法,我再创建一个 Fighter 构造函数并让其继承 Plane 对象,然后当我想要访问 new 出来这个对象的方法或者属性时,但是发现我并没有给他这些方法或属性,那么它就会往上(向创建出它的函数中)查找,这个查找的过程就叫做原型链。

//创建一个飞机的构造函数
function Plane(color) {
    this.color = color;
}
Plane.prototype.fly = function() {
    console.log('flying');
}

// 再创建一个战斗机的构造函数
function Fighter() {
    this.bullets = [];
}
// new一个 Fighter原型对象使其继承 Plane,也就是打通原型链
Fighter.prototype = new Plane('blue');

// Fighter特有方法
Fighter.prototype.shoot = function() {
    console.log('biu biu biu');
}

var fighter1 = new Fighter();
console.log(fighter1.color);// blue
fighter1.fly();// flying

///代码源自腾讯课堂Next特训班

原文章地址:https://www.cnblogs.com/pssp/p/5204324.html

原型链继承关系

原型链继承关系
图片源自腾讯课堂Next特训班

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值