回调函数的一些理解
回调函数就是异步程序
回调函:最难的就是不知道方法体中 callback执行的到底是哪个程序
console.log(callback)看一下到底执行的哪一个函数
xxx()一定是函数执行;内置api 自定义函数 回调函数
对于api api 的作用是什么 参数有什么意义
自定义函数; 这个函数到底做了什么 返回值是什么 形参和实参是什么
再总多function 到底执行的是哪一个
例题
先看这个函数有没有被调用 形参实参是什么!
这里可以看出callBack1就是函数foo的形参 而
function(callBack2){
console.log('foo的回调函数')
callBack2();
}
为foo的实参, 也就是callBack1是
function(callBack2){
console.log('foo的回调函数')
callBack2();
}
这个函数
这个时候往下面执行的话 console.log(‘foo’);打印结果为
foo
继而执行
callBack1(function(){
console.log('callBack回调函数');
}
而这时的callBack1的形参为callBack2而
function(){
console.log('callBack回调函数');
}
则为实参,继而执行 console.log(‘foo的回调函数’) 输出结果为 ‘foo的回调函数’
当执行到callBack2时 因为callBack2没有函数 则直接输出结果
'callBack回调函数
’
function foo(callBack1){
console.log('foo');
callBack1(function(){
console.log('callBack回调函数');
});
}
foo(function(callBack2){
console.log('foo的回调函数')
callBack2();
})
可以执行一下试一试