原型链

36 阅读1分钟

1.函数的原型叫做显示原型prototype

2.对象的原型叫做隐式原型__proto__

在我们new一个对象时相当于把函数的prototype直接赋值给了对象的__proto__

平时我们声明一个对象时其实就是new了一个Object

 let info={}
  // 相当于
  // let info=new Object()

在我们使用info.abc时他首先会在自己的属性中去找abc,如果找不到就会去自己的原型对象中去找,info的原型对象指向的时Object的原型对象,如果Object中也没有就会去Object的__proto__找,Object的__proto__指向的是一个null,这个过程中如果有一层找到了,就会直接返回abc

_X}1HGC)CR502YJB~JIHAAE.png 02_自定义原型链内存图.png