原型和原型链

35 阅读1分钟

原型

  • 隐式原型
  • 显示原型

原型图

image.png

原型关系

  • 每个class都有显示原型prototype
  • 每个实例都有隐式原型 __proto__
  • 实例的__proto__指向对应class的prototype

基于原型的执行规则

获取属性或执行方法时,

  • 先在自身属性和方法中寻找
  • 如果找不到再去__proto__中去寻找

原型链

先来看看原型链的图:

image.png

instanceOf

语法:A instanceOf B instanceOf的实现原理是:根据A的隐式原型往上找,看看能不能找到B的显示原型。如果对应得到,返回true,否则返回false。

总结

原型和原型链是js中非常重要的基础,弄清楚原型和原型链对我们写代码非常有帮助!