原型:每个构造函数都有一个原型对象prototype
原型链:当访问对象中的一个非自有属性的时候可以通过 __proto__
(隐式原型)访问到该原型的原型对象prototype
,直到访问Object
构造函数为止,这么一层一层的关系就是原型链。
继承思想:利用原型让一个引用类型继承另一个引用类型的属性和方法(实现继承)
实现原型链有一种基本模式:
function SuperType(){
this.property = true;
}
SuperType.prototype.getSuperValue = function(){
return this.property;
};
function SubType(){
this.subproperty = false;
}
//继承了 SuperType
SubType.prototype = new SuperType();
SubType.prototype.getSubValue = function (){
return this.subproperty;
};
var instance = new SubType();
alert(instance.getSuperValue()); //true