如何用javascript调用函数中的函数小说明

如何用javascript调用函数中的函数小说明,javascript,node.js,Javascript,Node.js,我是java脚本的初学者,正在尝试一个解析文本文件数据的小程序。为了在特定日期创建一个过滤器,我制作了一个函数来获取用户输入的日期。如果它在文本文件中,那么a必须比较的日期是,这个日期也是我得到的。但是现在我不想重新编写下面代码中的函数“getAllFilesFromFolder”,在任何情况下都必须执行此函数,但是如果我单击“按日期筛选”按钮,它必须在用户给定的日期范围内读取文件。有人能给我解释一下怎么做吗。我已经尝试了下面的代码 function getdate(){ var d

我是java脚本的初学者,正在尝试一个解析文本文件数据的小程序。为了在特定日期创建一个过滤器,我制作了一个函数来获取用户输入的日期。如果它在文本文件中,那么a必须比较的日期是,这个日期也是我得到的。但是现在我不想重新编写下面代码中的函数“getAllFilesFromFolder”,在任何情况下都必须执行此函数,但是如果我单击“按日期筛选”按钮,它必须在用户给定的日期范围内读取文件。有人能给我解释一下怎么做吗。我已经尝试了下面的代码

function getdate(){
      var dateStart = new Date($('#dateStart').val()).getTime();
      var dateEnd = new Date($('#dateEnd').val()).getTime();
      //if(!testDate){var testDate = new Date(2014, 05, 02).getTime();}
      var testDate = new Date(2014, 05, 02).getTime();
      if (dateStart <= testDate && testDate <= dateEnd) {
          alert('IN');
          //Here filter the files with the date 
      }else{
         alert('OUT');
         //Here no new to read and parse the file beacause it is out of range 
      }

    }

//Parse folder and file to get the required files
function getAllFilesFromFolder(folder){
  //Parsing the given folder the result which is return is kept in an array
  var test = fse.readdirSync(folder);
  //Going through the array 
  for(var n=0; test[n]; n++){
    var stats = fs.lstatSync(folder+"\\"+test[n]);
    if(stats && stats.isDirectory()){
      getAllFilesFromFolder(folder+"\\"+test[n]);
      var path = folder+"\\"+test[n]+"<br />";
      }else{  
        var path = folder+"\\"+test[n];
        //Regex on the file to be taken
        var pattern = /^(PM)[0-9]{5}[_](xam)[_](pmbok5th)[_](pmp)[_](v92)(.txt)$/;
        var parent = folder+"\\";
        var file = test[n];
        var load = pattern.test(file); 
        //Split on file to get the "id user"
        identifiant = file.split('_');
        //Test the regex on file name "PM*_xam_pmbok5th_pmp_v92.txt" 
        if(load == true){
          var read = fse.readFileSync(path, 'utf8');
          var suspendDate = read.lastIndexOf('xam/');
          var wantedDate = read.slice(suspendDate);
          info = wantedDate.split('/');
          var suspendData = read.lastIndexOf('/DB');
          var suspendData = wantedDate.lastIndexOf('/DB');
          var wantedData = wantedDate.slice(suspendData);
          var db_response = wantedData.split(".");
          var all_response = db_response[0].split(":");  


          if(typeof(info[2]) != "undefined" && all_response != "undefined"){
            var response = all_response[1].split("|");
            //Parsing the array response to find the "id" here id of the question and the "ans" here answer of the question "R" or "W"
            for(var p = 0; p < response.length; p++){
              //Test if result exist we increment if not it is generate with the function initResp
              if(typeof(response[p]) != "undefined"){
                var id = response[p].slice(0,6);
                var ans = response[p].slice(-1);
                if (question[id]) {
                  question[id][ans] += 1;
                  } else {
                    var results = initResp(ans);
                    question[id] = results;
                    }; 

                } else {
                  } 
            }
          } else {
            //$("#results1").append("<strong>La session est vide</strong><br>");
            }
          i++;
      } 
    }
  }
}; 
函数getdate(){ var dateStart=new Date($('#dateStart').val()).getTime(); var dateEnd=新日期($('#dateEnd').val()).getTime(); //如果(!testDate){var testDate=new Date(2014,05,02).getTime();} var testDate=新日期(2014,05,02).getTime();
如果(dateStart我找到了问题的解决方案。有关更多信息,请参阅下面的代码

function rangeDate(testDate){
  var dateStart = new Date($('#dateStart').val()).getTime();
  var dateEnd = new Date($('#dateEnd').val()).getTime();
  if (dateStart <= testDate && testDate <= dateEnd) {
      date = true;
      return date;
  }else{
      date = false;
      return date;
  }

}
function getAllFilesFromFolder(folder)/*, useDate*/{
  //Parsing the given folder the result which is return is kept in an array
  var test = fse.readdirSync(folder);
  //Going through the array 
  for(var n=0; test[n]; n++){
    var stats = fs.lstatSync(folder+"\\"+test[n]);
    if(stats && stats.isDirectory()){
      getAllFilesFromFolder(folder+"\\"+test[n]);
      var path = folder+"\\"+test[n]+"<br />";
      }else{  
        var path = folder+"\\"+test[n];
        //Regex on the file to be taken
        var pattern = /^(PM)[0-9]{5}[_](xam)[_](pmbok5th)[_](pmp)[_](v92)(.txt)$/;
        var parent = folder+"\\";
        var file = test[n];
        var load = pattern.test(file); 
        //Split on file to get the "id user"
        identifiant = file.split('_');
        //Test the regex on file name "PM*_xam_pmbok5th_pmp_v92.txt" 
        if(load == true){
          var read = fse.readFileSync(path, 'utf8');
          var suspendDate = read.lastIndexOf('xam/');
          var wantedDate = read.slice(suspendDate);
          var info = wantedDate.split('/');
          testDate = new Date(info[4]).getTime();
          rangeDate(testDate);
          if(date == true){
            var suspendData = read.lastIndexOf('/DB');
            var suspendData = wantedDate.lastIndexOf('/DB');
            var wantedData = wantedDate.slice(suspendData);
            var db_response = wantedData.split(".");
            var all_response = db_response[0].split(":");  
            if(typeof(info[2]) != "undefined" && all_response != "undefined"){
              var response = all_response[1].split("|");
              //Parsing the array response to find the "id" here id of the question and the "ans" here answer of the question "R" or "W"
              for(var p = 0; p < response.length; p++){
                //Test if result exist we increment if not it is generate with the function initResp
                if(typeof(response[p]) != "undefined"){
                  var id = response[p].slice(0,6);
                  var ans = response[p].slice(-1);
                  if (question[id]) {
                    question[id][ans] += 1;
                    } else {
                      var results = initResp(ans);
                      question[id] = results;
                      }; 

                  } else {
                    } 
              }
            } else {
              //$("#results1").append("<strong>La session est vide</strong><br>");
              }
            i++;
          }else{

          }

      } 
    }
  }


};
函数范围日期(testDate){
var dateStart=new Date($('#dateStart').val()).getTime();
var dateEnd=新日期($('#dateEnd').val()).getTime();

if(dateStart)我不知道你的问题是什么。你能简化你的问题吗?还有,在javascript中文件读取应该如何发生,变量fse是什么?fse是文件系统额外的,它是node_js中的一个模块。文件读取发生在以下条件下(load==true).getAllFilesFolder必须至少执行一次,因为如果用户不希望使用日期筛选器并获得所有结果,则也必须能够执行。我的问题是我想创建一个日期筛选器,因此我创建了一个按钮,该按钮调用函数getdate来比较日期范围内的日期,现在我想将该函数放入函数getAllFile中sFromFolder。