JS基础:原型链图拆解

识别原型链关键:跟着__proto__走

画出原型链关键:理解A,A.prototype与B.__proto__

网上的原型链图有很多种,作为新手看着看着就迷糊了。看不懂的其中一个原因是他们一步到位,从老老老父亲到刚new的对象都放在一张图上。 

一、I级原型

因此想要理解,首先从最上层的Object开始捋一下:

如图,Object是js提供的引用类型。它是function对象,也是其child的构造函数。 Object的prototype属性上存放着要给其child的诸多方法。

二、II级原型

声明一个函数A

function A(){
    this.name='test'
}

console.log(A.prototype)
console.log({}.toString.call(A)) //[Object Function]

通过打印可以看出函数A是js对象类型中的function对象类型。实际上继承自Object。因此可以画出下图的II级继承关系

 如图A.prototype的__proto__属性指向Object的prototype属性,此处已经是一条原型链。

三、III级原型链

用new操作符实现一个A的子对象。对照new操作符的实现过程,画出下图:


参考文章:https://www.cnblogs.com/libin-1/p/5820550.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值