首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在其他构造函数中调用构造函数?

在其他构造函数中调用构造函数可以通过以下几种方式实现:

  1. 使用call()方法:可以使用call()方法来调用另一个构造函数,并将当前对象作为参数传递给该构造函数。这样可以确保在新的构造函数中使用当前对象的属性和方法。
代码语言:javascript
复制
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"
  1. 使用apply()方法:与call()方法类似,apply()方法也可以用于调用另一个构造函数,并传递当前对象作为参数。不同之处在于,apply()方法接受一个数组作为参数,数组中的元素会作为参数传递给构造函数。
代码语言:javascript
复制
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"
  1. 使用Object.create()方法:可以使用Object.create()方法创建一个新对象,并将该对象的原型设置为另一个构造函数的原型。这样新对象就可以继承另一个构造函数的属性和方法。
代码语言:javascript
复制
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"

这些方法可以根据具体的需求选择使用,它们都可以实现在其他构造函数中调用构造函数的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

13分44秒

Dart基础之类中的构造函数

15分45秒

14_构造函数和this

24分55秒

64.尚硅谷_JS基础_构造函数

10分28秒

65.尚硅谷_JS基础_.构造函数修改

25分21秒

057_尚硅谷Vue技术_VueComponent构造函数

4分54秒

13-Promise的API-构造函数-then-catch

5分13秒

ES6/35.尚硅谷_ES6-ES5构造函数继承

16分30秒

day12_面向对象(中)/14-尚硅谷-Java语言基础-super调用构造器

16分30秒

day12_面向对象(中)/14-尚硅谷-Java语言基础-super调用构造器

16分30秒

day12_面向对象(中)/14-尚硅谷-Java语言基础-super调用构造器

6分37秒

day28_反射/28-尚硅谷-Java语言高级-调用运行时类中的指定构造器

6分37秒

day28_反射/28-尚硅谷-Java语言高级-调用运行时类中的指定构造器

领券