在理解原型链之前,我们需要了解:只要是数组数据类型, 所属构造函数就是 Array, 只要是 函数数据类型, 所属构造函数就是 Function ,只要是 正则数据类型, 所属构造函数就是 RegExp,只要是 对象数据类型, 所属构造函数就是 Object。而只要是在js中的函数或者变量,都可以说是对象的方法或者属性。
我们知道,在js中可以说是万物皆对象,最大就是window对象,可以说,任何一个函数都可以说是window对象得方法。
所以我们就可以通过对象的_proto_找到你想要的属性或者方法。
对象的访问机制
=> 当你访问一个对象成员的时候, 首先在自己身上查找, 如果有, 直接使用, 停止查找
=> 如果没有, 会自动去到自己的 _proto_查找, 如果有直接使用, 停止查找
=> 如果还没有, 就再去 上一层对象的_proto_上查找, 如果有直接使用, 停止查找
=> 以此类推, 直到 Object.prototype 都没有的时候, 返回 undefined
从此可以串起一条链,这就是原型链。