JavaScript回调函数

最近学习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);

  

posted on 2016-03-28 18:07  张三的哥哥  阅读(510)  评论(0编辑  收藏  举报