本文已参与「新人创作礼」活动,一起开启掘金创作之路。
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 都是用来执行事件驱动的任务。比如:有货了通知我、你到家了再叫我做饭等等。
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。需要注意的是,你留了电话到接到电话这段时间内,你可以继续干你的事情。
在这个例子里,你的电话号码就叫回调函数名(函数指针),通过电话联系你的方法就是回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。