JS中回调函数的概念
概要:Js中回调函数的概念...
个人理解:
回调函数的定义:
将一个函数作为参数的形式传入另一个函数中,那么这个函数就是回调函数,另一个函数可以决定在何时何处调用这个传入的回调函数。
比如:
//不传参示例
function foo(callback) {
//函数foo,callback是接收回调函数的形参,不一定命名为callback
console.log("a");//打印a
console.log("b");//打印b
callback();//执行回调函数
}
function f() {
console.log("c");//打印c
}
foo(f);//执行foo函数,将f函数作为参数传入,f函数就是回调函数
//传参示例
var param1 = "a";
function foo(param,callback) {
//param是函数foo接收param1参数的形参
//函数foo,callback是接收回调函数的形参,不一定命名为callback
let param2 = "c"
console.log(param);//打印param1
console.log("b");//打印b
callback(param2);//执行回调函数
}
function f(param) {
//param为接收param2参数的形参
console.log(param)//打印param2
}
foo(param1,f);//执行foo函数,将param1传入,将f函数作为参数传入,f函数就是回调函数
javascript中回调函数的作用:
1、代码的功能执行位置更清晰
2、解决异步编程问题,使异步执行操作的执行顺序及先后变得可以控制。异步执行操作有:定时器、建立网络连接、读取网络流数据、向文件写入数据、Ajax提交、请求数据库服务,等等。
但是,过度的使用回调函数会产生回调地狱问题,因此promise和async、await是解决异步编程的更优方案。