每个对象都有一个属性proto 当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去proto中查找 proto指向构造函数原型 原型对象又会有自己的proto 一直这样查找下去,直到直到原型链的末端还没有找到,则返回 undefined
prototype
每个函数都有一个prototype属性,该属性是一个指针,指向一个对象(构造函数的原型对象) ,这个对象包含所 有实例共享的属性和方法。原型对象都有一个 constructor 属性,这个属性指向所关联的构造函数。使用这个对象 的好处就是可以让所有实例对象共享它所拥有的属性和方法。这个属性只用js中的类(或者说能够作为构造函数的对 象)才会有。
proto
每个实例对象都有一个proto属性,用于指向构造函数的原型对象( prototype )。 __proto__属性是在调用构造函 数创建实例对象时产生的。该属性存在于实例和构造函数的原型对象之间,而不是存在于实例与构造函数之间。