原型
prototype和proto都叫原型,两个很容易混淆,用下面的图来表示比较清楚:
![](https://img.haomeiwen.com/i11565434/78b6d351ae580cd1.png)
其中,prototype是函数中有的属性,而proto是所有对象拥有的属性。
当使用一个函数作为构造函数去生成实例时,会将构造函数的prototype属性赋值给实例对象的proto,所以proto就是当前对象的构造器的原型(prototype)。
原型链
就是一条通过proto连接的,从实例指向构造函数原型的一条链。当你需要查找一个属性时可以沿着这条链一级级向上查找。
![](https://img.haomeiwen.com/i11565434/bb59d8bdb6aada1e.png)
参考文章:
https://www.cnblogs.com/shuiyi/p/5305435.html
https://www.cnblogs.com/wyaocn/p/5815761.html
网友评论