JavaScript回调函数

Posted 张三的哥哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

  

以上是关于JavaScript回调函数的主要内容,如果未能解决你的问题,请参考以下文章

javascript回调函数

javascript之回调函数小知识

JavaScript的异步编程

在 JavaScript 中播放一段声音时如何获取回调?

在回调中访问参数 (javascript)

JavaScript中的回调函数(callback)