1,原型链继承
function Parent(){
this.a= 1
}
Parent.prototype.getName = function(){
console.log(this.a)
}
function Child(){}
Child.prototype = new Parent();//将父类的实例赋给子类的原型,不过不能传参给父级函数
2,构造函数继承
function Parent(){
this.a= 1
}
Parent.prototype.getName = function(){
console.log(this.a)
}
function Child(arg){
Parent.call(this,arg)
}
不过不能够使用父级函数的方法
3,组合继承(前两种组合)
function Parent(){
this.a= 1
}
Parent.prototype.getName = function(){
console.log(this.a)
}
function Child(arg){
Parent.call(this,arg)
}
Child.prototype = new Parent()
4,Object.create
该api接收两个参数:一是用作新对象原型的对象、二是为新对象定义额外属性的对象(可选参数)
Object.create 这个方法可以实现普通对象的继承,不仅仅能继承属性,同样也可以继承 方法,不过他们都是同一个原型,多个实例的引用类型属性都是指向相同的内存