Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从一个类调用方法时从另一个类调用方法_Javascript_Class - Fatal编程技术网

Javascript 从一个类调用方法时从另一个类调用方法

Javascript 从一个类调用方法时从另一个类调用方法,javascript,class,Javascript,Class,我有两个类:第一类是检查文件是否存在以及文件是否有效;第二个是用那个文件做一些东西: class Validator { constructor(){ this.file = './file.json'; } check(){ ... } } class Modificator { action1(){ ... } action2(){ ... } } 我想要的是第一个类中的方法在第二个类中的每个方法内部自动调用。 这有点棘手,但我真的不想手动操作,

我有两个类:第一类是检查文件是否存在以及文件是否有效;第二个是用那个文件做一些东西:

class Validator {
   constructor(){
      this.file = './file.json';
   }
   check(){ ... }
}

class Modificator {
   action1(){ ... }
   action2(){ ... }
}
我想要的是第一个类中的方法在第二个类中的每个方法内部自动调用。 这有点棘手,但我真的不想手动操作,比如:

class Validator {
   constructor(){
      this.file = './file.json';
   }
   static check(){ ... }
}

class Modificator {
   action1(){ 
      let status = Validator.check();
      ...
   }
   action2(){ 
      let status = Validator.check();
      ...
   }
}
  • 通过使用包装器
  • 类验证程序{
    静态检查(){console.log('checked')}
    静态检查CBK(fn){
    返回值=>{
    这个。检查()
    //然后回拨
    fn()
    }
    }
    }
    类修改器{
    //通过公共实例字段
    action1=Validator.checkCbk(函数(){
    console.log('mod::action1')
    })
    }
    //还是原型
    Modificator.prototype.action2=Validator.checkCbk(函数(){
    log('mod::action2')
    })
    var m=新修改器()
    m、 行动1()
    
    m、 action2()
    验证程序和修改程序之间的关系是什么?为什么所有修改器都需要从验证器调用相同的静态方法?