Javascript:部分覆盖函数而不覆盖几行代码

Javascript:部分覆盖函数而不覆盖几行代码,javascript,jquery,html,reactjs,Javascript,Jquery,Html,Reactjs,直截了当。 我在javascript类中有一个函数,例如 export default class gf{ iLoveThis(){ this.state.MakeMeWhole = true; callBoyfriend(); } } 我所做的实际上是在另一个JS文件中覆盖该方法。像这样请注意,我正在将该类扩展到我的其他组件类中 iLoveThis(){ alert('Got Laid!'); cheatOnBoyfriend(

直截了当。 我在javascript类中有一个函数,例如

export default class gf{
    iLoveThis(){
        this.state.MakeMeWhole = true;
        callBoyfriend();
    }
}
我所做的实际上是在另一个JS文件中覆盖该方法。像这样请注意,我正在将该类扩展到我的其他组件类中

iLoveThis(){
    alert('Got Laid!');
    cheatOnBoyfriend();
}
有没有可能在另一个类中重写该方法而不丢失this.state.makeMe整行代码?呼叫和其他部分将被覆盖。 假设我已经在许多不同的类中实现了ILoveThis,因此我不希望在所有其他类中添加额外的代码,而是修改原始方法来实现这一点

找不到任何可行的例子来实现这一点,因为大多数例子告诉我保存方法,覆盖它,然后在覆盖方法后重新运行它,这将导致我修改100个类

更新 需要做的是

class Love {
  constructor(){
  this.state = 'love'
  }

  iLoveThis() {
  this.state = 'derp'
  callBoyfriend();
  }
}

class Love2 extends Love{
  iLoveThis() {
  cheatBoyfriend();//assume method exist
  console.log(this.state) // Somehow make this state as derp, means the codes in the original function are partially overwritten 
  }
}
代码的信用属于在页面底部发布回复的人。
这可能吗?

我不知道这是否是您想要的,但请尝试使用
extends

代码:

class Love {
  constructor(){
    this.state = 'love'
  }
  iLoveThis() {
    this.state = 'derp'
  }
}

class Love2 extends Love{
 iLoveThis() {
    console.log(this.state) // love
  }
}

const l = new Love2().iLoveThis()

编辑:还有一个例子。您需要在类之间共享一个状态对象。首先,
import
包含每个类的两个文件中的
shareState
对象。现在,如果您设置状态,它将被更新并可共享

从“./src/shareState.js”导入shareState


“我在许多不同的类中实现了ILoveThis”-然后您需要在许多不同的类中分别覆盖它,这是无法避免的。当然,你本来可以通过更好的设计来避免这种情况。你可以通过编程实现,无需触摸100个文件。“我在许多不同的类中实现了ILoveThis”-你是说其他类引用了原始方法,或者您已将显示的源代码复制到其他类中?@nnnn我将原始类扩展到我的新子类中如果您扩展该类没有问题,您只需像找到的所有示例告诉您的那样覆盖超类中的方法即可。试试看!并在不起作用时发布您尝试的代码。更新了问题。您可以在子类中忽略构造函数。您的内容与我想要的内容接近,但不是覆盖此内容。状态我要覆盖状态的不同部分。例如,我在ILoveThis()中有一行代码,它将某个属性“potations”设置为true。当我编写它时,我想将另一个属性“chicken”设置为false,但仍然希望属性“potatos”设置为true。是否认为这是可以实现的?@inedSectionItokillBugs只需调用
super.iLoveThis()
?您需要一个
状态
对象,可以在类之间共享。查看我的更新代码示例。请允许我稍微重新表述一下这个问题,例如,函数ILoveThis()在设置状态后调用另一个函数,我所需要的只是在覆盖函数的其他部分时保留this.state行,是否可能?嗯,也许我也应该更新我的主要问题。。。