我们希望在validate()之外调用该函数initValidation(),而不必调用initValidation()
以下是我们的问题代码-
function initValidation(){
   //无关的代码在这里
   function validate(_block){
      //代码在这里
   }
}在JavaScript中,我们知道函数不过是对象,因此要实现这一点,我们可以像这样调整代码-
function initValidation(){
   //无关的代码在这里
   function validate(_block){
      //代码在这里
      console.log(_block);
   }
   this.validate = validate;
}这种调整的作用是使我们的父函数现在代表一个类,其中validate是一个属性,我们可以像这样访问它-
const v = new initValidation();
v.validate('Hello world');以下是带有输出的完整代码-
function initValidation(){
   //无关的代码在这里
   function validate(_block){
      //代码在这里
      console.log(_block);
   }
   this.validate = validate;
}
const v = new initValidation();
v.validate('Hello world');输出结果
控制台中的输出将为-
Hello world