function Cat(leg,tail) {
this.leg = leg;
this.tail = tail;
this.climb = function () {
alert("我会爬树");
}
}
function Tiger(leg, tail, color) {
//把要继承类的语句执行一下
this.parent = Cat;//把父类构造函数引入到一个parent属性上
this.parent.apply(this, arguments);
delete this.parent;
}
var hnhu = new Tiger(4,1,"yellow");
hnhu.climb();
console.log(hnhu);
复制继承就是把父对象上的所有属性,直接复制到自己的对象上去
function Cat(leg, tail) {
this.leg = leg;
this.tail = tail;
this.climb = function () {
alert("我会爬树");
}
}
function Tiger(color) {
this.color = color;
this.extend = function (parent) {
for (var key in parent) {
//console.log(key);
this[key] = parent[key];//复制进去
}
}
}
var tiger = new Tiger("yellow");
console.log(tiger);//没有climb和leg和tail属性
tiger.extend(new Cat(4, 1));
console.log(tiger);//有climb和leg和tail属性