柯理化函数
柯理化函数是为了配合 模块化开发使用的一种函数的编程语法,将一个函数中输入多个参数的形式,修改成 多个函数 每个函数设定一个参数,本质上是闭包的语法形式.
function isReg(reg){
return function(str){
return reg.test(str)
}
}
const nameRegFun = isReg(/^\w{6,8}$/)
let res1 = nameRegFun('1234567')
let res2 = nameRegFun('123')
console.log(res1);
console.log(res2);
柯理化函数的优点
- 之前的函数每次调用都要输入多个参数,柯理化的函数 每次调用 只需要输入一个参数,语法形式更简洁
- 之前的函数被多次调用执行,如果正则表达式,需要修改,每一次调用的函数中 参数都需要修改,柯理化的函数,只需要将第一次调用时,输入的实参正则表达式修改之后每次调用输入的实参字符串不需要修改,可维护性可操作性更高
柯理化函数的缺点
柯理化函数本质上使用的是闭包的语法形式,具有闭包语法的优点缺点