JS作为一门面向对象的语言,其三大特征之一继承,其表现方式不同于Java中的extends的使用。
下面分享 关于JS中的继承
构造函数的继承---使用call、apply
// 构造函数的继承
// 我们使用call和apply方式实现构造函数的继承
// call与apply作用:改变this指向
function Animal(nick, age) {
this.nick = nick;
this.age = age;
}
Animal.prototype.skill = function () {
console.log('觅食')
}
function Dog(nick, age, type) {
// this.nick = nick;
// this.age = age;
Animal.call(this, nick, age);
Animal.apply(this, [nick, age]);
this.type = type;
}
原型的继承---使用for in
// 原型的继承
// 推荐使用就for in
for (var x in Animal.prototype) {
Dog.prototype[x] = Animal.prototype[x]
}
Dog.prototype.jump = function () {
console.log("jump");
}
var d = new Dog('dd', 6, '柯基');
d.skill();