一般而言:处理程序和函数之间有什么区别?

In general terms: what is the difference between a handler and a function?

从这个答案 (What is a handler) 我了解到处理程序是:

A handler is a routine/function/method which is specialized in a certain type of data or focused on certain special tasks.

但后来我问自己:为什么不用 word function 替换 word handler 呢?有什么不同?我能说的唯一区别是函数不需要有参数,这意味着它们不需要关注某种类型的数据。还有一些函数——没有参数——并不专注于专门的任务。

但除此之外,处理程序和函数之间有什么区别?

更多背景:

我发现处理程序的概念仍然难以理解(这可能是因为我是荷兰人,根据 Google 翻译,荷兰语中没有这个词)。检查定义有一点帮助,但不完全。

处理程序确实只是函数。处理程序是具有在触发事件后立即调用的预期行为的函数,例如,当单击 img 时或当您滚动经过页面上的某个元素时。

处理程序只是一个更具体的术语。水果和苹果有什么区别?

JS中的所有处理程序都是函数,但并非所有函数都是处理程序。这是一种更精确的方式。如果我说 "a function",我可能指的是任何函数。如果我说 "a handler",那么我特指一个函数,它旨在响应正在发生的某些事件,通常是异步的,例如鼠标单击或在 Express 中正在处理的请求。

考虑一下: 您在网页中有一个按钮,然后按下该按钮,您将触发按钮 HANDLER,但处理程序不过是用于处理事件的函数。

想象一下 html 中的一个 onclick 事件,它将调用一个函数,该函数就是处理程序。

处理程序是响应某种 actions/events 调用的函数 而函数是我们从代码中调用的。

在大多数情况下,处理程序会收到一个参数,该参数描述触发它的事件类型。

一般来说,它只是一个函数,但调用它的原因使其不同。