1.什么是回调函数callback()
/.......此处为网络查询所得
回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。
基本概念:
- 回调:指被传入到另一个函数的函数。
- 异步编程:指在代码执行时不会阻塞程序运行的方式。
- 事件驱动:指程序的执行是由外部事件触发而不是顺序执行的方式。
回调函数是一种常见的编程技术,它可以在异步操作完成后调用一个预定义的函数来处理结果。
......./
以上是对回调函数比较官方的解释,简单来说回调函数就是函数作为参数,满足一定条件才能执行的函数。
2.回调函数和普通函数的区别
从结构上来说,回调函数和普通函数完全一样
//函数构造方法
function FUN(){
//代码...
}
也就是说回调函数并不是其他什么特殊结构,而是函数的一种用法,
3.函数的回调函数用法
以下是一个函数用例
// 函数作为参数,满足一定条件才能执行的函数
function funA(param) {
console.log(param);
}
function funB(param) {
setTimeout(function(){
console.log(param)
},1000)
}
funA("起床")
funB("洗漱")
funA("吃饭")
运行结果如下
可以看到这里有两个简单的函数,funA()和funB(),funB()中有一个定时器,它要过1秒后执行输出(异步函数),但是从实例使用上来说,我们希望的顺序是 起床->洗漱->吃饭
所以这里需要先执行完异步的"洗漱",再执行"吃饭",所以我们可以将funA()执行回调函数用法,作为一个参数传入funB()中,等待funB()执行完毕再执行传入的参数funA()
// 函数作为参数,满足一定条件才能执行的函数
function funA(param) {
console.log(param);
}
function funB(param ,callback) {
setTimeout(function(){
console.log(param)
callback("吃饭")
},1000)
}
// funA("起床")
// funB("洗漱")
// funA("吃饭")
funA("起床")
funB("洗漱",funA)
运行结果如下
总结
回调函数callback,是函数的一种用法【将函数作为参数,满足一定条件(上述实例条件是执行完 console.log(param))才能执行】,而不是一种特殊结构,其本身依旧是普通函数。