天天看点

函数的柯里化

函数柯里化

一种函数的封装形式

把一个函数的两个参数拆开成为两个函数, 每个函数一个参数

=> 多个参数的时候

=> 把第一个参数单独提取出来

<script type="module">
    // import reg from './reg.js'

    // // 当你要验证用户名的时候
    // const res = reg.testName('guoxiang')
    // console.log(res)

    import { testPwd } from './reg.js'
    const res = testPwd('guoxiang')
    console.log(res)
  </script>


  <script>
    
      
	/*
      准备一个 js 文件
        + 里面是各种正则验证
    */

    // 封装: 使用正则去验证用户名
    // function fn(reg, name) {
    //   return reg.test(name)
    // }

    // // 使用的时候
    // const reg = /[^_]\w{5,11}/

    // const res = fn(reg, 'guoxiang')
    // const res2 = fn(reg, 'guoxiang3')
    // console.log(res)
    // console.log(res2)


    // 以闭包的形式进行封装
    // function testName(reg) {
    //   return function (username) {
    //     return reg.test(username)
    //   }
    // }

    // 将来我使用的时候
    // res 接收的是 函数内部 返回的函数
    // const res = testName(/^[^_]\w{5,11}$/)

    // // 真正进行代码开发的时候
    // const res2 = res('guxiang')
    // console.log(res2)
  </script>

           

继续阅读