原型/原型链/继承的简述

本文详细介绍了JavaScript中原型的概念,包括每个构造函数的prototype属性,原型链的工作原理,以及如何实现继承,通过call和apply方法以及将父类实例化对象赋值给子类原型来实现属性和方法的继承。
摘要由CSDN通过智能技术生成

一:原型

每一个构造函数都有一个prototype属性,这个属性会在生成实例的时候,成为实例对象的原型对象。javascript的每个对象都继承另一个对象,后者被称为“原型”对象。

二:原型链

每一个对象都有一个--proto--属性,对象的属性和方法,又可能定义在自身,也有可能定义在它的原型对象。原型对象也是对象,也有自己的原型,所以就形成了原型链。

原型链的作用:读取某个对象的属性时,js会先从对象的本身属性上找,如果找不到,就到他的原型上找,还是找不到,就到原型的原型上找,一直找到最顶层Object.prototype还是找不到就返回null,

三:继承

继承就是在子类构造函数中继承父类构造函数的私有属性和原型属性。我们在子类构造函数中使用call和apply方法调用父类构造函数并改变其this指向为子类构造函数中的this,此时子类的构造函数就继承了父类的私有属性和私有方法。将父类的实例化对象赋值给子类的原型对象,此时子类就继承了父类的原型属性和原型方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值