回调函数就是一个参数 ,将这个函数作为参数传到另一个函数里面, 当那个函数执行完之后 ,再执行传进去的这个函数 ,这个过程就叫做回调 。
function foo(){
}
foo(function(){}) //传进去一个匿名函数
function foo(cb){
}
foo(function(){}) //cb和这个function等价关系, function(){}叫做回调函数
场景 :
1.不能复用的语句 ,可以放到回调函数中。
2.解决异步调用的顺序。
function foo( cb ){
cb(); //进行代码块的差异化处理
}
foo( function(){
div.style.background = 'red' ;
})
foo( function(){
input.style.border = '1px red sollid' ;
})
function foo(){
setTimeout(function(){
console.log(1)
},1000);
}
foo();
console.log(2);
此时的代码是 先 输出2 , 后输出 1 ,
如何能先输出 1 , 后输出 2 呢 ?
用回调函数 ,在想调用的地方调用,执行代码。
function foo(cb){
setTimeout(function(){
console.log(1)
cb();
},1000);
}
foo(function(){
console.log(2)
})