回调函数的官方英文解释是:
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。
翻译过来就是将函数作为一个参数传递给另一个函数,在父函数执行完成之后在执行这个函数,大概就是这个意思。
在js中函数或者说是方法是可以作为参数传递的,被传递的函数称为回调函数,而接受参数的函数为主函数,也就是说,在主函数被执行完成之后在执行回调函数。
在另一方面来说,我个人认为就是将回调函数,放在了主函数中执行,不必纠结是否是在主函数被执行完成之后执行回调函数,这里只需要清楚一点: 函数b作为参数传给了函数a,函数b就是一个回调函数。
为什么会有回调函数呢?
在我看来是为了代码更加灵活,主函数可以根据传参的不同执行不同的函数, 不然耦合程度颇高。
//主函数
function a(HD){
console.log('这里是主函数');
HD();
}
//回调函数
function b(){
console.log('这里是回调函数');
}
//这里的b函数 我可以随时进行更改 c函数 d函数 改成什么函数,什么函数就会执行
a(b)