javascript中怎样借用构造函数继承父类属性
在 JavaScript 中,可以使用借用构造函数的方式来实现继承父类的属性。所谓借用构造函数,就是在子类的构造函数中调用父类的构造函数,来创建子类对象时初始化一些属性。
以下是一个示例代码,其中使用了借用构造函数的方式来继承父类的属性:
// 定义一个父类 Person
function Person(name, age) {
this.name = name;
this.age = age;
}
// 定义一个子类 Student,继承自 Person
function Student(name, age, grade) {
// 在子类构造函数中调用父类构造函数,使用 call 方法借用 Person 的构造函数来初始化 name 和 age 属性
Person.call(this, name, age);
this.grade = grade;
}
// 创建一个 Person 对象
var person = new Person('Tom', 30);
// 创建一个 Student 对象
var student = new Student('Lucy', 18, 1);
console.log(person); // 输出 Person { name: 'Tom', age: 30 }
console.log(student); // 输出 Student { name: 'Lucy', age: 18, grade: 1 }
在上面的代码中,定义了一个父类 Person 和一个子类 Student。在子类的构造函数中使用call(this, ...)来调用父类的构造函数,通过这种方式来继承父类的属性。在创建 Student 对象时,除了可以初始化子类自己的属性外,也可以访问继承自父类的属性。
需要注意的是,在使用借用构造函数的方式继承父类属性时,子类不能访问父类原型上的方法。如果想让子类也能访问父类原型上的方法,需要将父类原型上的方法拷贝到子类的原型上。