您的位置:首页 > Web前端 > JavaScript

JavaScript回调函数

2016-03-28 18:07 197 查看
最近学习JavaScript的回调函数,将自己学习心得整理下,不一定是正确的。

回调函数概念:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

中文解释是:函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。

回调函数可以使用同步方式实现,也可以使用异步方式实现,通过回调函数定义可知回调主要针对异步方式的。

一,同步回调

function f1(callback){
callback();
console.log('f1');
}
function f2(){
console.log('f2');
}
f1(f2);


  以上同步回调代码,执行结果如下:



同步回调流程中程序没有执行完f1后,再执行回调函数f2,这样与回调定义相矛盾。因此同步流程使用回调函数没有意义,同步流程不建议使用回调函数,

实现以上功能没必要使用回调,可以使用其他代码实现:

function f1(){
f2();
console.log('f1');
}
function f2(){
console.log('f2');
}
f1();


二,异步回调

你有事去隔壁寝室找同学,发现人不在,拜托与他同寝室的人,看到他回来时叫一下你,这就是回调。通俗的讲我们在执行完函数f1()后,在执行回调函数函数f2(),f2()功能类似通知主程序:f1()执行完毕,你可以进行其他操作。

function f1(callback){
    setTimeout(function () {
      // f1的任务代码
      callback();
    }, 1000);
}
function f2(){
console.log('f1执行完成,你可以进行其他操作了');
}
f1(f2);


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: