CallBacks 让我困惑 JavaScript

CallBacks Puzzle me in JavaScript

我很难真正理解JavaScript中的回调原理。可能是因为从英语翻译成荷兰语的缘故,但并没有抓住我的理解力。

谁能解释一下 CallBack 到底是什么,它是如何工作的(以及它为什么不工作)?

回调是作为参数传递给另一个函数的函数。 最常见的例子是 setTimout。它需要一个函数和时间作为参数。

setTimeout(function(){//在这里做点什么},2000);

这里setTimeout中定义的函数就是回调函数

别担心,当大多数开发人员了解回调时,您和他们一样。这个想法需要一点时间来适应。

有一些很好的例子可以说明为什么我们在某些情况下使用回调。

例如,如果我们创建一个按钮,我们想知道它被点击了。我们通过分配一个回调函数来做到这一点,比如 buttonClicked()。在该功能中,您可以做一些很酷的事情,比如弹出一条消息“嘿,感谢您的点击!”

同样,我们对计时器使用回调。如果我们想要一个定时器 运行,比如每 5 秒,我们分配一个像 timerFired()

这样的回调

function buttonClicked() {
    alert("Hey thanks for clicking!")
}
<html>
    <body>
        <h3>Button Example</h3>
        <button type="button" onclick="buttonClicked()">Click Me!</button>
    </body>
</html>

function timerFired() {
    console.log("Timer fired");
}

setInterval(timerFired, 5000);