首页 > 解决方案 > 回调函数、辅助函数和包装函数有什么区别?

问题描述

我一直在对谷歌进行广泛的研究,但我仍然找不到我的答案。据我了解,辅助函数是一个函数,它通过为计算的一部分提供名称和接受参数的能力来帮助降低某些计算的复杂性。从我见过的几个代码来看,其他两个函数也是如此......

标签: javascript

解决方案


我将尽量减少术语和流行语,因为大多数初学者都难以掌握新概念,因为他们陷入了术语兔子洞。

回调函数包含您希望底层子系统在完成本质上不是顺序的特定任务后执行的代码。子系统通常是对幕后发生的事情的抽象,并公开一个 API 供您使用,该 API 接受该函数。可以将其想象为向某人/某事发送单向消息以帮助您完成没有保证 ETA 的任务,然后留下他们在任务完成后可以联系到您的号码/地址。对于接受函数作为数据的语言来说,这是一个很自然的概念。

辅助函数基本上包含所需的“绕道”代码,有助于分离关注点。当你让它做好一件事时,它会更好地阅读。如果您的功能做得太多,那么您可能需要仔细考虑您要完成的工作以及实现目标的步骤。例如,假设您有一些代码需要计算将包裹从 A 点运送到 B 点的价格,该任务的一部分还涉及计算两点之间的距离。您不希望业务代码与神秘的 Haversine 公式代码混在一起,对吗?在这种情况下,您的 Haversine 公式计算可以是一个辅助函数。如果需要在项目中的多个地方使用帮助程序,它们还可以帮助代码重用。

包装函数让您包装复杂或外来代码以实现某些目标。该目标可能是公开一组不同的接口,隐藏复杂性或在通过代理调用底层函数之前和/或之后执行一些代码。当一个函数 A 调用另一个函数 B 时,称 A 已经包裹了 B。

希望有帮助。


推荐阅读