原型链是干什么用的
JavaScript 采用了原型和原型链来实现类和继承(就是查找属性用的)。
当 JavaScript 查找一个对象上的属性的时候,在该对象上找不到就会去它的原型链上查找(通过__proto__一层一层往上找)。比如:
1 | function Foo() {} |
原型和原型链主要由三个指针实现:
prototype: 构造函数的prototype属性指向原型对象(这个原型对象一般就用构造函数.prototype表示)__proto__: 实例对象的__proto__属性指向原型对象constructor: 原型对象的constructor属性指向构造函数- 所有对象都基于
Object,是因为所有原型对象的__proto__最终都指向Object.prototype,而Object.prototype的__proto__为 null