回调函数,辅助函数和包装函数之间有什么区别?

时间:2018-09-01 06:42:02

标签: javascript

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

1 个答案:

答案 0 :(得分:1)

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

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

Helper函数基本包含所需的“绕行”代码,可帮助分离问题。使某件事情做好时,它的读取效果会更好。如果您的职能做得太多,那么您可能需要仔细考虑您要完成的工作以及达到目标的步骤。例如,假设您有一些代码需要计算从A点到B点交付包裹的价格,该任务的一部分还涉及计算两个点之间的距离。您不希望将业务代码与神秘的Haversine公式代码混合在一起,对吗?在这种情况下,您的Haversine公式计算可以是一个辅助函数。如果需要在项目的多个地方使用帮助程序,则帮助程序还可以帮助代码重用。

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

希望有帮助。