原型链:简单理解就是实例对象与原型对象之间的关系(一条链式关系),当我们访问一个实例对象的属性和方法时,如果实例对象身上本身没有,那么JavaScript就会去该实例对象的原型对象身上查找,如果原型对象身上也没有,就会去原型的原型身上查找,在js中万物皆对象,所以实例对象的顶级原型是Object,Object的原型是null; 如下图: 实例对象和构造函数和原型对象之间的关系 (1)实例对象是由构造函数所创建的,let person1 = new Person(“John”, 30);创建实例对象 (2)构造函数身上有一个prototype属性,这个便是原型对象 Person.prototype (3)原型对象身上有一个构造器constructor,这个构造器指向了Person构造函数 (4)实例对象身上有一个__proto__属性, 实例对象的__proto__属性指向自身构造函数的prototype