javascript原型与原型链

什么是原形链?

每个函数都有一个prototype,叫做显示原型
每个实例都有一个_proto_,叫做隐式原型
实例的隐式原型指向构造的显示原型

prototype constructor proto 三者之间区别是什么关系?

实例化和原型对象的 constructor 属性指向构造函数
构造函数的prototype 指向原型对象
实例化对象的 _proto_指向原型对象

prototype

每个函数都有一个prototype属性,被称为显示原型

_ proto _

每个实例对象都会有_ proto _属性,其被称为隐式原型

每一个实例对象的隐式原型_ proto _属性指向自身构造函数的显式原型prototype

constructor

每个prototype原型都有一个constuctor属性,指向它关联的构造函数

原型链

获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不到,就去找原型的原型,一直找到最顶层(Object.prototype)为止。Object.prototype对象也有__proto__属性值为null。
javascript原型与原型链_第1张图片

你可能感兴趣的:(js专区,es6)