1. 借助构造函数实现继承 (没有继承原型链上边的属性)
function Parent1() {
this.name = 'parent1';
}
function Child1() {
Parent1.call(this);
this.type = 'child1';
}
2.借助原型链实现继承
function Parent2() {
this.name = 'parent2';
}
function Child2() {
this.type = 'child2'
}
Child2.prototype = new Parent2();
缺点,Parent2函数执行了一次,改进
function Parent2() {
this.name = 'parent2';
}
function Child2() {
this.type = 'child2'
}
Child2.prototype = Parent2.prototype;
3.组合形式
function Parent3() {
this.name = 'parent2';
}
function Child3() {
Parent3.call(this);
this.type = 'child3';
}
Child3.prototype = Parent3.prototype;