JavaScript中的高阶函数和不完全函数

高阶函数的函数调用和函数执行机制以及实参与形参的关系 (思路可能有点乱) 不是很理解这个高阶函数,还有不完全函数的实参和形参调用机制,怎么使用不完全函数呀,好脑壳痛,讲高阶函数和不完全函数结合在一起使用 我去,直接蒙圈

阅读 2.6k
2 个回答

我说一下我的理解:

  • 高阶函数, 简单说就是参数是函数,返回值也是函数的函数,也就是处理函数的函数,可以按需求修订传入函数的功能。

比如我们有一个判断空的函数,经过下面这个函数的处理,我们就可以得到一个判断非空的新函数了!

// 参数函数,返回函数
function ifNot(func) {
    return function(x) {
        return !func(x)
    }
}
  • 不完全函数,应该是不完全调用函数,比如整数解析函数parseInt,它有两个参数:被解析字符串、基数(进制),我们可以这样处理一下之后,就可以分两次调用了。

这样我们可以定制自己的函数,这个新函数还可以参与组装成其他新函数,是不是很奇妙。

function myParseInt(base) {
    return function(str) {
        return parseInt(str, base)
    }
}

const parseInt10 = myParseInt(10)
parseInt10('123')

你不如找个例子说说你的理解。
不完全函数其实是高阶函数的一种,高阶函数就是可以执行多次的函数,本质就是返回另一个函数的函数。不完全函数也是这种情况,只是它处理了参数,可以一个一个传递参数执行函数。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题