关于原型链的理解,遇到的问题

来源:5-5 instanceof 是基于原型链实现的

疆南星耀

2020-05-25

function a(){ this.name = 1; }
a instanceof Object;//true
a instanceof Function;//true
这两者都是返回true,是不是可以理解为 a在 Function 和 Object 的原型链上面?
a.prototype.__proto__ === Object.prototype;//true
a.prototype.__proto__ === Function.prototype//false
Function.prototype.__proto__ === Object.prototype
根据上面的返回值,是不是可以理解为 a是从Object继承的,但不是从Function上继承的,而且Function也是继承于Object。这样的话 Function 和 a 是兄弟关系,继承于同一个父类。
那为什么上面通过instanceof 关键词搜索Function的时候,会显示在它的原型链上呢?

写回答

3回答

慕粉3871079

2021-03-08

a instanceof b

说明 b在a的原型链上,例如老师文中举的例子,打印xialuo 可以从__proto__中找到Studennt ,再往下是People》Object,那么Studennt,People,Object都在xialuo的原型链上。

2
0

慕粉3226790

2020-05-25

a instanceof Function 可以理解为Function 在a的原型链上,你刚好搞反了,Object同理

2
0

慕妹0460391

2022-03-16

//img.mukewang.com/szimg/62315b5b09e5466409970267.jpg




a instanceof Function // true
a.__proto__ === Function.prototype // true
a.__proto__.__proto__ === Object.prototype //true
1
0

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程