【红宝书p238继承之原型链(继承父类实例)】
1,让子类的原型是父类的实例,查看子类和父类的结构
<script>
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;
// 子类的原型中添加getSubValue方法
};
console.dir(SuperType);
console.dir(SubType);
</script>
父类结构如上
子类结构如上
2,查看父类和子类实例的结构
<script>
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;
// 子类的原型中添加getSubValue方法
};
let supIns = new SuperType();
let subIns = new SubType();
console.dir(supIns);
console.dir(subIns);
</script>
父类实例结构如上所示
子类实例结构如上