原型和原型链


1.原型
    js中每个对象都有一个特殊的prototype属性,它就是对象的原型。
    本质上prototype是对其他对象的引用,在有的浏览器上可以用_proto_来访问,比如谷歌,但是按照标准应该用object.getPrototypeOf()来获取

2.原型链

- 原型链允许一个JavaScript对象继承另一个对象的属性和方法。这实现了JavaScript中的基于原型的继承。

- 每个对象都有一个内部的[[Prototype]]属性,可以通过__proto__访问,指向该对象的原型对象。如果没有显式设定,就是null。

- 原型对象也可能有原型对象。一个对象可以通过它的内部[[Prototype]]指针访问另一个对象的属性。这形成了一条“原型链”。

- 当访问一个对象的属性时,如果该对象内部不存在这个属性,那么会查阅它的原型,如果在原型中找到了该属性就会返回它。原型链中的所有对象都会被搜索查找属性。

- 这种搜索过程会一直向上移动原型链,直到找到一个匹配的属性或到达原型链的末尾(Object.prototype)。

- 所以原型链的核心思想就是:利用原型让一个引用类型继承另一个引用类型的属性和方法。原型链的查询也是沿着原型链进行的。

- 通过原型链,可以实现代码的重用以及不同对象间共享功能,这与类继承概念相似。它是JavaScript基于原型的继承的实现方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值