开启编程成长之旅!这是我参与「编程 · 2 月更文挑战」的第2天,点击查看活动详情
一、什么是回调函数
回调函数就是传递一个参数化函数,就是将这个函数作为一个参数传到另外一个主函数里面,当那个主函数执行完之后,再执行传递过去的函数,走这个过程的参数化的函数,就叫回调函数,换个说法也就是被作为参数传递到另一个函数(主函数)的那个函数就叫做回调函数。
回调函数:函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。,这句话的意思是函数b以一个参数的形式传入函数a并执行,顺序是先执行a ,然后执行参数b,b就是所谓的回调函数。 说人话就是, 一个函数A,作为另一个函数B的参数,那么函数A就被称为回调函数。
对,回调函数A就是一个普普通通的函数,它被其他函数B作为参数在B的内部调用,那么在这个时候A才能被称为B的回调函数。
回调函数这个概念是相互的,一个单独的函数是无法叫做回调函数的,它只能被称为XXX(被谁在内部调用)的回调函数。我相信大部分人都是迷惑在这里了。
二、回调函数的特点
1.不会立即执行
回调函数作为参数传递给一个函数的时候,传递的只是函数的定义并不会立即执行。和普通的函数一样,回调函数在调用函数数中也要通过()运算符调用才会执行。
2.回调函数是一个闭包
回调函数是一个闭包,也就是说它能访问到其外层定义的变量。
3.执行前类型判断
在执行回调函数前最好确认其是一个函数。
三、回调函数示例
回调函数就是传递一个参数化的函数,就是将这个函数作为一个参数传到另一个主函数里面,当那一个主函数执行完之后,再执行传进去的作为参数的函数。走这个过程的参数化的函数 就叫做回调函数。换个说法也就是被作为参数传递到另一个函数(主函数)的那个函数就叫做 回调函数。
- 自己定义的函数
2. 自己没调用
3. 函数最终执行了
例如:
function test(value){ //这就是回调函数
console.log(value)
}
function main(test,value){ //test作为一个参数传递进来
console.log(value)
test(value) // 我是回调函数
}
main(test,'我是回调函数')