js中的原型链
作者:
两朵小黑云 | 来源:发表于
2020-08-21 14:02 被阅读0次
- 原型链的本质是链表
- 原型链上的节点是各种原型对象,比如
Function.prototype Object.prototype
- 原型链通过 __proto __ 属性链接各种原型对象
原型链长啥样子?
- obj -> Object.prototype -> null
- func -> Function.prototype -> Object.prototype -> null
- arr -> Array.prototype -> Object.prototype -> null
如何实现一个 instance of ?
- 知识点: 如果A沿着原型链能找到B.prototype, 那么A instance of B为 true
- 解法: 遍历A的原型链,如果找到B.prototype,返回true,否则返回 false
const instanceOf = (A, b) => {
let p = A
while(p){
if(p === b.prototype) return true
p = p.__proto__
}
return false
}
console.log(instanceOf({}, Array)) // false
console.log(instanceOf({}, Object)) // true
console.log(instanceOf([], Object)) // true
本文标题:js中的原型链
本文链接:https://www.haomeiwen.com/subject/vlhujktx.html
网友评论