原型链的层级结构

原型(prototype)是js特有的概念,是js早期的主要继承方式。
 js中,每一个实例对象都有一个原型,而此原型也可能是另一个原型的实例,也就是说此原型之上可能还有原型,直到Object对象的原型为null,这就是原型链。
  但是原型链的每一个层级不是简单的两点一线关系,而是由实例,构造函数,原型三者相互关联形成的。
  构造函数有一个prototype属性,可以直接访问原型。实例没有prototype属性,但在创建过程中被构造函数赋予了一个指向原型的指针,可以用__proto__表示。

可以说,实例和构造函数拥有同一个原型属性,只是构造函数显示拥有,实例隐式拥有,或者说他们访问原型的方式不同。特别的是构造函数自己作为一个实例,也有__proto__指针,也就是说它有两种方式访问原型。
  在使用中,如果调用实例本身没有的属性或方法,则会沿着原型链向上查找,直到找到或原型为null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值