在其他构造函数中调用构造函数可以通过以下几种方式实现:
function Person(name, age) {
this.name = name;
this.age = age;
}
function Student(name, age, grade) {
Person.call(this, name, age);
this.grade = grade;
}
var student = new Student("John", 18, "A");
console.log(student.name); // 输出 "John"
console.log(student.age); // 输出 18
console.log(student.grade); // 输出 "A"
function Person(name, age) {
this.name = name;
this.age = age;
}
function Student(name, age, grade) {
Person.apply(this, [name, age]);
this.grade = grade;
}
var student = new Student("John", 18, "A");
console.log(student.name); // 输出 "John"
console.log(student.age); // 输出 18
console.log(student.grade); // 输出 "A"
function Person(name, age) {
this.name = name;
this.age = age;
}
function Student(name, age, grade) {
var student = Object.create(Person.prototype);
student.name = name;
student.age = age;
student.grade = grade;
return student;
}
var student = new Student("John", 18, "A");
console.log(student.name); // 输出 "John"
console.log(student.age); // 输出 18
console.log(student.grade); // 输出 "A"
这些方法可以根据具体的需求选择使用,它们都可以实现在其他构造函数中调用构造函数的功能。
领取专属 10元无门槛券
手把手带您无忧上云