原型对象
每个函数都具有一个 prototype 属性,这个属性是一个指针,指向一个对象(即原型对象)。
原型对象的用途是为每个实例对象存储共享的方法和属性。
instanceof
方法:测试构造函数的 prototype 属性是否出现在对象的原型链中的任何位置。
1 | function Person() {} |
Person 构造函数、Person 原型属性 和 Person 实例之间的关系
构造函数的 prototype
属性 和 实例的 __proto__
属性都是指向 原型对象(prototype
),共享其属性和方法,即:Person.prototype === me.__proto__
原型链
当读取实例的属性时,如果找不到,就会查找与对象关联的原型中的属性,如果还查不到,就去找原型的原型,一直找到最顶层为止。
1 | function Person() {} |