(1)混入式继承
使用for in遍历对象1的属性,将所有属性添加到另外一个对象2上,这时称对象2 继承自对象1
(3)原型继承
a.利用对象的动态特性,为原型对象添加成员
b.直接替换成员
替换前的对象在替换之后,所有成员丢失;
替换原型对象的时候,需要手动去指定原型对象的construtor属性
c.利用混入式给原型对象替换成员
(4)经典继承
使用for in遍历对象1的属性,将所有属性添加到另外一个对象2上,这时称对象2 继承自对象1
(3)原型继承
a.利用对象的动态特性,为原型对象添加成员
b.直接替换成员
替换前的对象在替换之后,所有成员丢失;
替换原型对象的时候,需要手动去指定原型对象的construtor属性
c.利用混入式给原型对象替换成员
(4)经典继承
Var 对象1 = Object.create(对象2)这个时候,创建出来的对象1继承自对象2
注意:Object.create方法存在兼容性问题如何解决?
1.检测浏览器是否支持Object.create方法,如果不支持,直接手动给Object添加create方法
2.自定义函数,在函数内部判断浏览器是否支持Object.create方法,如果不支持,则手动创建对象返回,否则直接调用
Function create(obj){
If(Object.create){
Return Object.create(obj);
}else{
function F(){ }
F.prototype=obj;
Return new F();
}
}