# 原型和原型链

# 前置知识

  • constructor构造函数:
  • prototype原型对象:
  • _ _ proto _ _隐式原型:
  • new 关键字做了什么

是什么【本质】

每一个函数都会有一个原型对象,函数通过prototype来指向原型对象。【注意null和箭头函数没有】。

为什么【作用】

这个原型对象用来保留函数对象的一些公共方法和属性,以达到属性和方法的复用

提示

JavaScript就是通过原型链来达到继承的

怎么做【原理】

构造函数在实例化对象的时候,会将实例的对象的隐式原型对象 _ _ proto _ _指向,实例对象的构造函数constructor原型对象prototype。注意:Function构造函数也是Object构造函数的实例对象,所以他也继承object的原型对象。当函数在访问属性和方法时,会通过_ _ proto _ _ 去找,如果没有就找_ _ proto _ _ _ _ proto _ _ ,如此反复,当找到最后一个指向null对象还没有就是,那返回undefined。这个 _ _ proto _ _的指向,形成了原型链

Last Updated: 5/14/2022, 11:15:10 PM