原型链涉及到的概念挺多的,这让我来举例说明下
例如有一个普通对象x={},那x会有一个隐藏属性__proto__,它指向Object.prototype
即 x.__proto__ === Object.prototype \原型
此时,可以说 x 的原型是 Object.prototype ,或者说 Object.prototype 是 x 的原型
x 隐藏属性__proto__ 指向 x 的原型
如果没有这个隐藏属性的话,那就不知道 x 的原型是谁了
接下来说原型链,也来举例说明下
假设有个数组 a=[] ,那 x 会有一个隐藏属性__proto__,它指向Array.prototype
a.__proto__ === Array.prototype
同时Array.prototype也有一个隐藏属性__proto__,它指向 Object.prototype
Array.proto === Object.prototype
这样一来就有了俩层原型
a 的原型是 Array.prototype
a原型的原型是 Object.prototype
即 a ===> Array.prototype ===> Object.prototype
这就是我对原型链的回答