您当前位置: 南顺网络>> 官方资讯>> 行业动态

原型链

1.通过new操作符作用于JS函数,那么就得到了一个实例;

2.构造函数会初始化一个prototype,这个prototype会初始化一个原型对象,那么原型对象是怎么知道自己是被哪个函数初始化的呢?原来原型对象会有一个constructor属性,这个属性指向了构造函数;

3.那么关键来了实例对象是怎么和原型对象关联起来的呢?原来实例对象会有一个__proto__属性,这个属性指向了该实例对象的构造函数对应的原型对象;

4.假如我们从一个对象中去找一个属性name,如果在当前对象中没有找到,那么会通过__proto__属性一直往上找,直到找到Object对象还没有找到name属性,才证明这个属性name是不存在,否则只要找到了,那么这个属性就是存在的,从这里可以看出JS对象和上级的关系就像一条链条一样,这个称之为原型链;

编辑:--ns868