[JavaScript] callback function

373 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

callback function 回调函数

先看用法

function callback() {
    alert("I am in the callback!");
}
​
function work(func) {
    alert("I am calling the callback!");
    func(); 
}
​
work(callback);

Stack Overflow

A “callback” function is a function which is: accessible by another function, 
and is invoked after the first function if that first function completes。

翻译:“callback”函数是一个可由另一个函数访问的函数,并且如果第一函数完成,则在第一函数之后被调用。

回调函数是一个函数,将会在另一个函数完成执行后立即执行

回调函数是一个作为参数传给另一个函数的函数,这个回调函数会在传给的函数内部执行。

callback 一词本来用于打电话。

你可以打电话(call)给别人,也可以留下电话号码,让别人回电话(callback)。

计算机领域相对较新,一些日常词汇被引进,表达类似概念。

call 和 callback 在计算机领域翻译成“调用”和“回调”。

回调函数是作为另一个函数的形参出现的

一般函数:function a(int a, String b),接收的参数是基本数据类型的变量。

回调函数:function c(function d),接收的参数是一个函数,d函数就叫回调函数。

一般的函数调用,可以称作是调用。

另一种,执行时才将某个函数传入再调用的调用方式,就叫"回调"。

回调函数可以看成,让别人做事,传进去的额外信息。

回调函数的举例解释

很多时候 callback 都是用来执行事件驱动的任务。比如:有货了通知我、你到家了再叫我做饭等等。

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。需要注意的是,你留了电话到接到电话这段时间内,你可以继续干你的事情。

在这个例子里,你的电话号码就叫回调函数名(函数指针),通过电话联系你的方法就是回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。