讲一讲JS中的高阶函数
“高阶函数”是个我们经常遇到的术语,英文名叫“higher-order function”,对于新手而言,还挺神秘。今天,我们就来探讨下高阶函数。 定义 接收函数作为参数或者返回函数的函数 大白话就是: 首先是个函数 参数或者返回值是函数 举例子 我们这里举两个例子来覆盖下上文的定义,其中,例一为 接收函数 作为参数的高阶函数,例二为 返回函数 的高阶函数。 例一:函数作为参数 我们定义了一个叫 evaluatesToFive 的函数,接收两个参数:第一个参数是一个数字,第二个参数是一个函数。在函数 evaluatesToFive 中,将参数一(数字)传入参数二(函数) function evaluatesToFive(num, fn) { return fn(num) === 5; } 使用的场景: function divideByTwo(num) { return num / 2; } evaluatesToFive(10, divideByTwo); // true evaluatesToFive(20, divideByTwo); // false 哈哈,虽然函数本身用处不大,但是对描述高阶函数来说,很简单易懂。 例二:返回函数 本例中,我们创建函数 multiplyBy ,接收一个数字作为参数,并返回一个新的函数 function multiplyBy(num1) {