每个引用对象object、array、function都会有_proto_属性,属性值是一个普通对象。
每个函数function都会有prototype属性,属性值也是一个普通对象。
每个引用对象的_proto_属性都指向它的构造函数的prototype属性。
object._proto_ === Object.prototype
当试图得到一个引用对象的某个属性时,先从对象自身找,如果找不到就会在对象的_proto_(即这个对象的构造函数的prototype上)找,如果还找不到就在构造函数的protype的_proto_上找,这样一层层往上找就会形成一个链路是一个链式结构,这就是原型链。如果一直找到最上层都没有找到就会宣告失败,返回undefined。最上层是什么—— Object.prototype._proto_ === null
所有从原型或更高级原型中得到、执行的方法,其中的this
在执行时,就指向了当前这个触发事件执行的对象