1)概念:一个函数B当做参数传递给另一个函数A,通过函数A的执行来调动执行函数B。
最常见的:DOM时间回调、定时器回调、Ajax回调、生命周期回调
2)回调代码:回调函数的代码
JavaScript引擎,在执行代码时,先执行初始化代码,等到初始化代码全部执行结束时,再执行回调代码。
//定义主函数,回调函数作为参数
function A(callback) {
callback();
console.log('我是主函数');
}
//定义回调函数
function B(){
setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作
}
//调用主函数,将函数B传进去
A(B);
//输出结果
我是主函数
我是回调函数
3)回调函数一般用来做什么?
执行定义主函数的时候,我们让代码先去执行callback()回调函数,但输出结果却是后输出回调函数的内容。这就说明了主函数不用等待回调函数执行完,可以接着执行自己的代码(同时进行)。所以一般回调函数都用在耗时操作上面。比如ajax请求,比如处理文件等。