希望这张图能帮到你,函数中的prototype.constructor是指向Function构造函数本身的,而Function.prototype是Function构造函数构造出来的实例。实际工作中对于原型链的问题我还真是没怎么碰到过,所以他具体有什么用我也就不得而知了。望采纳
1,JS函数:
JS中没有类的概念,但是它模拟了类的构成,JS中的构造函数 就类似于java中所说的类,类名是函数名,构造函数在生成的时候会自动拥有一个prototype属性,它是一个引用,引用了该构造函数的原型对象,而这个原型对象也会自动获得一个属性constructor,用来指向该构造函数
2,JS中的实例对象:
通过构造函数new出来的实例对象会拥有一个内置属性_pro_,它指向构造它的构造函数的原型对象,所以所有new出来的实例对象都会共享该原型对象的属性和方法(这也是原型对象存在的意义)。
3,实例对象与constructor的联系:
所以实际上实例对象和构造函数并没有直接的关系,它是通过构造函数的原型对象和构造函数联系的,前面说了,实例对象会共享原型对象的属性,所以实例对象也会拥有一个constructor的属性,这样它和构造函数就产生了联系。
4,这种联系的作用:
这种联系,就可以知道该实例对象属于哪个类(也就是构造函数)