Js函数的高级概念

2023-01-12 09:52:21 浏览数 (2)

# 高阶函数

  • 如果函数符合下面规范的任意一个,那该函数就称之为高阶函数

1、若A函数,接收的参数是一个函数,那么A就是高阶函数。

2、若A函数,调用的返回值是一个函数,那么A是高阶函数。

常见的高阶函数:Promise、setTimeout、arr.map()等等

例子:

1、接收参数是函数的

代码语言:javascript复制
function add(a,b,f){
    return f(a) f(b)
}

let num = add(2,-2,Math.abs)

console.log(num)//4

2、返回参数是函数的

代码语言:javascript复制
let arr = [1,2,3,4,5]
let newArr = arr.map(
    function f(a) {
        return a * a
    })

console.log(newArr)//[1,4,9,16,25]

# 函数柯里化

  • 定义:通过函数的调用继返回函数的方式,实现多次接收参数最后进行统一处理函数的编码形式。

例子:

代码语言:javascript复制
function sum(a) {
    return(b)=>{
        return(c)=>{
            return a b c
        }
    }
}
const res = sum(1)(2)(3)

0 人点赞