正則表達式

REGEXP對象
javaScript通過内置對象REGEXP支持正則表達式
兩種淡化實例化regExp對象
1.字面量 var reg =/\bis\b/ 不加g是搜索到第一个就停止,加了g之后是全文匹配。
2.構造函數 let reg = new RegExp(’\bis\b’, ‘g’);
6-7日
回调函数的弊端

嵌套层次很深,难以维护
无法正常使用return和throw
无法正常的检索堆栈信息
在多个回调之间难以建立联系

   const fs = require('fs')
    const path = require('path')

    // 声明  最大函数
    function findLargest(dir, callback){

        // 读取fs文件
        fs.readdir(dir, function (err, files){

              // 如果发生错误,就用回调函数传出错误
              if(err) return callback(err);
              // 如果正常就执行以下操作
              let count = files.length;
              let errored = false;
              let states = [];
              
              files.forEach( file => {//遍历循环
                // 去取文件的状态
                fs.stat(path.join(dir, file), (err, stat) =>{
                  // 如果发生错误,就用回调函数去传出错误
                  if(errored) return;
                  if( err ) {
                    errored = true;
                    return callback(err);
                  }
                  // 如果正常,就把文件状态放入数组status中
                  status.push(stat);
                  //count计数 等到count变成0的时候就默认读取完毕
                  if(--count === 0){
                    // 取出最大的文件
                    let largest = states.filter(funtion(stat){ return stat.isFile()})reduce(function (prev, next) {
                      if (prev.size > next.size) return prev;
                      return next;
                    })
                    callback(null, files[status[status.indexOf(largest)]]);
                  }
                })
              });

        })
    }

    // 调用寻找最大函数
    findLargest('./path/to/dir', function (err, filename){

      // 错误先行

      if(err) return console.error(err);
      console.log('largest file was:', filename);
    })

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值