举个栗子
fuction a(callbackFunction){
alert("这是parent函数a");
var m =1;
var n =3;
return callbackFunction(m,n);
}
function b(m,n){
alert("这是回调函数b");
return m+n;
}
$(function(){
var result = a(b);
alert("result="+result);
});
输出结果:
这是parent函数a
这是回调函数b
result=4
执行函数a,调用了函数b,最后输出结果。
在举个栗子
//定义主函数,回调函数作为参数
function A(callback) {
callback();
console.log('我是主函数');
}
//定义回调函数function B(){
setTimeout("console.log('我是回调函数')", 3000);
//模仿耗时操作 }
//调用主函数,将函数B传进去A(B);
输出结果我是主函数
我是回调函数
总结:
主函数不用等待回调函数执行完,可以接着执行自己的代码。所以一般回调函数都用在耗时操作上面。比如ajax请求,比如处理文件等。
es6 中的promise
优点:执行完A,执行B,执行c