【转】JS回调函数--简单易懂有实例

JS回调函数--简单易懂有实例

  初学js的时候,被回调函数搞得很晕,如今回过头来总结一下什么是回调函数。javascript

  咱们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。java

  字面上的理解,回调函数就是一个参数,将这个函数做为参数传到另外一个函数里面,当那个函数执行完以后,再执行传进去的这个函数。这个过程就叫作回调。ajax

  其实也很好理解对吧,回调,回调,就是回头调用的意思。主函数的事先干完,回头再调用传进来的那个函数。可是之前看过不少博客,他们老是将回调函数解释的云里雾里,很高深的样子。函数

  举一个别人举过的例子:约会结束后你送你女友回家,离别时,你确定会说:“到家了给我发条信息,我很担忧你。” 对不,而后你女友回家之后还真给你发了条信息。小伙子,你有戏了。其实这就是一个回调的过程。你留了个参数函数(要求女友给你发条信息)给你女友,而后你女友回家,回家的动做是主函数。她必须先回到家之后,主函数执行完了,再执行传进去的函数,而后你就收到一条信息了。blog

  如今基本理解回调函数的意思了吧。不理解的话不要紧,咱们用代码说话。ip

//定义主函数,回调函数做为参数
function A(callback) {
    callback();  
    console.log('我是主函数');      
}

//定义回调函数
function B(){
    setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操做  
}

//调用主函数,将函数B传进去
A(B);

//输出结果
我是主函数
我是回调函数

  

  上面的代码中,咱们先定义了主函数和回调函数,而后再去调用主函数,将回调函数传进去。回调函数

  定义主函数的时候,咱们让代码先去执行callback()回调函数,但输出结果倒是后输出回调函数的内容。这就说明了主函数不用等待回调函数执行完,能够接着执行本身的代码。因此通常回调函数都用在耗时操做上面。好比ajax请求,好比处理文件等。博客

相关文章
相关标签/搜索