1、原型链继承
function Person(name) {
this.name = name;
}
Person.sayName = function() {
console.log(this.name)
}
function Teacher(age) {
this.age = age;
}
Teacher.prototype = new Person();
2、借用构造函数
function Person(name) {
this.name = name;
}
function Teacher(name, age) {
Person.call(this, name);
this.age = age;
}
3、原型链和借用构造函数组合继承
function Person(name) {
this.name = name;
}
Person.sayName = function() {
console.log(this.name)
}
function Teacher(name, age) {
Person.call(this, name);
this.age = age;
}
Teacher.prototype = new Person();
Teacher.prototype.sayAge = function() {
console.log(this.age)
}
4、Class继承
class Person {
constructor(name) {
this.name = name;
}
}
class Teacher extends Person {
constructor(name, age) {
super(name);
this.age = age;
}
}