分享多张自己绘制的 JavaScript 原型图

svg 图片自取

先来个最经典的

在这里插入图片描述

然后是对象与 Object

在这里插入图片描述

接着是函数与 Function。图中的 [[Prototype]] 指的就是原型对象

在这里插入图片描述

Function 和 Object 之间的关系也不能少。

这两个对象 Object 和 Function 是由 v8 自己创建的,理由是打印这两个对象时,终端输出

	ƒ Object() { [native code] }
        
	ƒ Function() { [native code] }

然后,根据下面关系画出原型图:

Function.prototype === Object.__proto__

Object.__proto__.__proto__ === Object.prototype

在这里插入图片描述

将上面内容结合起来,就是这样的图:

fn.__proto__ === Object.__proto__

fn.__proto__.__proto__ === ({}).__proto__

Object.__proto__.__proto__ === ({}).__proto__

在这里插入图片描述

创建一个函数时,默认会自动为其创建一个原型对象,也就是 prototype 对象

(new Fn()).__proto__ === Fn.prototype

在这里插入图片描述

换个画法:

在这里插入图片描述

最后再送两张福利图

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值