多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
>[danger]什么是回调函数 ****** 参考: 1. 先理解函数名其实也是一个变量, 那么可以给变量赋予一个函数体: ``` function eat () {}; // eat 是函数名, 也是一个变量 var eat = function () {}; // eat 是变量, 接收了一个函数体 // 都不耽误用 eat(); ``` 2. 那么我们就可以把一个函数体赋予给一个形参了 ``` // 声明 function say(callback){ 1 callback(); }; // 调用 say(function(){ 2 console.log("1行代码触发了我"); }); // 调用say方法时相当于 // callback = function () {}; ``` 3. 当say里代码, 执行传进去的这个函数callback()时, 这个过程就叫做回调, 调用了行号为2的代码 4. 还没理解? 看图吧: ![](https://box.kancloud.cn/f122b42adc761329e77f01e5356e4e5a_940x634.png) >总结: 当函数内调用形参方法执行时, 这个过程就叫回调, 形参对应的函数就是回调函数 ****** 扩展: 1. 当回调函数嵌套使用过多, 造成代码难以维护, 所以不要过深的使用回调函数, 如果非要必要使用, 请参考Promise 2. 回调函数在Ajax和定时器计时器以及nodeJS和异步操作中使用非常广泛