高阶函数:
入参和出参都有一个函数当参数或者返回。
偏函数:
相当于先传一个参数作为基石
function test(a,b,c,d){ console.log(a,b,c,d); } let handle=test.bind(null,1,2); handle(3,4);
这里就是拿了 1,2当作基石。3,4是传参
匿名函数:
就是箭头函数,因为没有取名字
柯里化:
addCurry(1)(2)(3)(4, 5)()解决这种可以多次传值还有每次不知道传几个值的题目
unction add (...args) { return args.reduce((a, b) => a + b) } function currying (fn) { let args = [] return function _c (...newArgs) { //这个newArgs表示的是整个参数变成了一个数组的类型 console.log(newArgs); if (newArgs.length) { args = [ ...args, ...newArgs ] return _c } else { return fn.apply(this, args) } } } let addCurry = currying(add) // 注意调用方式的变化,最后的那个()是用来转到else的 console.log(addCurry(1)(2)(3)(4, 5)())
克里化最经典的作用就是参数的校验复用功能。
浙公网安备 33010602011771号