如何在 JavaScript 中在 initValidation() 函数之外调用 validate() 函数?


我们希望在 initValidation() 之外调用函数 validate(),而不必调用 initValidation()

以下是我们的问题代码 −

function initValidation(){
   // irrelevant code here
   function validate(_block){
      // code here
   }
}

在 JavaScript 中,众所周知,函数只不过是对象,因此,为了实现这一目标,我们可以调整我们的代码如下 −

function initValidation(){
   // irrelevant code here
   function validate(_block){
      // code here
      console.log(_block);
   }
   this.validate = validate;
}

此调整的作用是使其父函数现在表示一个类,其中 validate 是一个属性,我们可以像这样访问它 −

const v = new initValidation();
v.validate('Hello world');

以下是完整的带输出的代码 −

示例

function initValidation(){
   // irrelevant code here
   function validate(_block){
      // code here
      console.log(_block);
   }
   this.validate = validate;
}
const v = new initValidation();
v.validate('Hello world');

输出

控制台中的输出应该是 −

Hello world

更新于: 2020-08-18

143 次浏览

开启你的事业

完成课程,获得认证

开始
广告