把函数当参数:前端日常里的高阶思维

写前端三年,最让我觉得“开窍”的一刻,是理解了可以把函数像变量一样传来传去。

一、回调是最朴素的函数参数

addEventListener 的第二参数是一个函数;数组的 map、filter 也接收函数。与其说这是“高阶函数”,不如说我们每天都在把行为当作数据传递。

const total = nums.filter(n > 0).reduce((a, b) => a + b, 0);

二、拆出小函数

当回调体超过三行,我习惯把它抽成带名字的函数,这样既能复用,也让阅读者先看到意图再看实现。

函数化不是炫技,它只是让“变化的部分”和“稳定的部分”分家的一个手段。

评论(3)

山风

把函数当参数这个视角很妙,之前总是把高阶函数想复杂了,收藏!

码农小明

能不能接着出一篇关于闭包与内存泄漏的实操文章?很期待~

爱学习的猫

想转载到公司内部博客学习,请问允许保留出处转载吗?

评论经站长审核后公开显示。