—— 让我们直接进入主题吧
每创建一个函数,内部都会带有一个指向具有共享属性和方法的 prototype 属性,这个属性是一个对象,称为原型(简单来说,就是由该函数创建的实例,都可以通过这个原型来共享属性和方法)
每个原型对象中都有 constructor 属性,指向 prototype 属性所在的构造函数
例如:Person.prototype.constructor === Person//true
JS中每个对象都有一个内置属性 proto ,用于指向创建该对象构造函数的原型对象(proto 是在实例与构造函数的原型之间)
对象要读取属性的值时,先在自身的属性列表中查找,找不到则通过 proto ,到引用的原型属性列表中查找,一级一级往上,形成一个引用链,称为原型链
—— 到这里,相信你已经可以轻松的说出什么是原型、什么是原型链了吧