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

调用父类中的父函数,而不是子(同名) javascript

在JavaScript中,如果子类和父类都有同名的函数,但想要调用父类中的函数,而不是子类中的函数,可以通过以下几种方法实现:

  1. 使用super关键字:在子类的函数中使用super关键字,可以调用父类中的同名函数。例如:
代码语言:txt
复制
class Parent {
  sayHello() {
    console.log('Hello from parent');
  }
}

class Child extends Parent {
  sayHello() {
    super.sayHello(); // 调用父类中的同名函数
    console.log('Hello from child');
  }
}

const child = new Child();
child.sayHello();

输出:

代码语言:txt
复制
Hello from parent
Hello from child

推荐的腾讯云相关产品和产品介绍链接地址:暂无推荐。

  1. 使用父类的原型链:通过访问父类的原型链来调用父类中的同名函数。例如:
代码语言:txt
复制
function Parent() {}

Parent.prototype.sayHello = function() {
  console.log('Hello from parent');
}

function Child() {}

Child.prototype = Object.create(Parent.prototype); // 继承父类的原型链
Child.prototype.constructor = Child;

Child.prototype.sayHello = function() {
  Parent.prototype.sayHello.call(this); // 调用父类中的同名函数
  console.log('Hello from child');
}

const child = new Child();
child.sayHello();

输出:

代码语言:txt
复制
Hello from parent
Hello from child

推荐的腾讯云相关产品和产品介绍链接地址:暂无推荐。

  1. 使用call()或apply()方法:通过使用call()或apply()方法,将父类中的同名函数应用到子类实例上。例如:
代码语言:txt
复制
function Parent() {}

Parent.prototype.sayHello = function() {
  console.log('Hello from parent');
}

function Child() {
  Parent.call(this); // 调用父类中的同名函数
}

Child.prototype = Object.create(Parent.prototype); // 继承父类的原型链
Child.prototype.constructor = Child;

Child.prototype.sayHello = function() {
  console.log('Hello from child');
}

const child = new Child();
child.sayHello();

输出:

代码语言:txt
复制
Hello from parent
Hello from child

推荐的腾讯云相关产品和产品介绍链接地址:暂无推荐。

以上是调用父类中的父函数而不是子类中的函数的几种方法。通过使用这些方法,我们可以实现在JavaScript中灵活地调用父类的函数,以满足不同的需求。

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

相关·内容

领券