2021-09-18

柯理化函数究竟怎么用?如何理解?
如何理解?
可以理解成就是把参数一个个拆开,然后在函数里面返回一个函数去去接受传入的后面的第二个以及后面的参数如下
//函数柯理化
function add(x, y) {
return x + y
}
function currli(x){
return function(y){
return x+y
}
}
console.log(add(1,2))
console.log(currli(1)(5))
// 正常正则验证字符串 reg.test(txt)

好处是什么?

我们可以实现参数复用,比如写一个正则表达式,传入第一个参数来作为正则校验,然后调用这个函数时在传入一个参数也就是第二个参数,用来被校验的字符串如下:
// 函数封装后使用
function check(reg, txt) {
return reg.test(txt)
}

check(/\d+/g, ‘test’) //false
check(/[a-z]+/g, ‘test’) //true

//柯理化函数之后
function curryingCheck(reg) {
return function(txt) {
return reg.test(txt)
}
}

//第一步我们利用工厂方法来给柯理化函数传入第一个字

var hasNumber = curryingCheck(/\d+/g)
var hasLetter = curryingCheck(/[a-z]+/g)

//我们定义了两个函数hasNumber和hasLetterbin传入了柯理化的第一个值也就是reg
// 所以我们可以直接调用这个函数传入参数来执行校验下面传入的参数也就是第二个参数第一个参数就是上面的正则表达式
hasNumber(‘test1’) // true
hasNumber(‘testtest’) // false
hasLetter(‘21212’) // false

当然这只是简单的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值