函数柯里化
一种函数的封装形式
把一个函数的两个参数拆开成为两个函数, 每个函数一个参数
=> 多个参数的时候
=> 把第一个参数单独提取出来
<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>