原型链为对象属性或方法的查找机制
所有的函数都有原型对象prototype
所有对象都有一个属性叫__proto__,对象的__proto__等于原型对象prototype,所以也可以通过_proto__访问原型对象,以此形成链式结构,叫做原型链。
对象访问原型链上的属性与方法时遵循就近原则,原型链的作用是为了实现属性或方法的继承。
对象需要访问属性或方法时,先查找自己身上有没有,如果没有就访问自己的__proto__,自己的__proto__等于prototype也就是原型对象,因为原型对象也是对象,所以也有__proto__属性,原型对象是由内置构造函数Object new出来的,所以原型对象的原型为顶级对象Object的prototype原型对象,Object的__proto__上找不到属性就为null,找不到方法就报错