通俗理解“回调函数”

通俗理解“回调函数”我们先来看看回调的英文定义 Acallbackisa 字面上的理解 回调函数就是一个参数 将这个函数作为参数传到另一个函数里面 当那个函数执行完之后 再执行传进去的

我们先来看看回调的英文定义:

A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。

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

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

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

  现在基本理解回调函数的意思了吧。不理解的话没关系,我们用代码说话。

复制代码
//定义主函数,回调函数作为参数 function A(callback) { callback(); console.log('我是主函数'); } //定义回调函数 function B(){ setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  } //调用主函数,将函数B传进去 A(B); //输出结果 我是主函数 我是回调函数
复制代码

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

  定义主函数的时候,我们让代码先去执行callback()回调函数,但输出结果却是后输出回调函数的内容。这就说明了主函数不用等待回调函数执行完,可以接着执行自己的代码。所以一般回调函数都用在耗时操作上面。比如ajax请求,比如处理文件等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212281.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午8:24
下一篇 2026年3月18日 下午8:24


相关推荐

  • leetcode单调队列_单调栈leetcode

    leetcode单调队列_单调栈leetcode0x00单调栈主要回答这样的几种问题比当前元素更大的下一个元素比当前元素更大的前一个元素比当前元素更小的下一个元素比当前元素更小的前一个元素0x01问题一维护一个单调递减的栈。Leetcode496:下一个更大元素I(超详细的解法!!!)Leetcode503:下一个更大元素II(超详细的解法!!!)Leetcode739:每日温度(超详细的解法!!!)cl…

    2026年2月18日
    6
  • for循环的执行顺序

    一边回顾基础一边记录记录做个整理,这篇关于for循环的执行顺序:for(表达式1;表达式2;表达式3){循环体}第一步,先对表达式1赋初值;第二步,判别表达式2是否满足给定条件,若其值为真,满

    2021年12月25日
    69
  • 一切从现在开始

    大一马上就结束了,有一些收获,但是与自己期望的还是有很大的差距,自己反思的话是执行力不够,今天在csdn上又看到了一些很有励志意义的博客,很有动力,我会努力的。跟着前辈们的足迹,我要继续走下去了,在程序员这条路上吧,虽然学的是物联网,但是对编程很感兴趣,暂时顶下自己的方向就是程序员了。这学期学习了c++,虽然寒假里就自学了,但是再看一遍的收获还是很大的。马上就考试了,先不长篇大论,这就

    2022年3月11日
    38
  • 签名设计手写简单_怎么写自己的签名

    签名设计手写简单_怎么写自己的签名首语:大家好,很多人都想设计一个简单的艺术签名,所以就有人开始找【签名设计手写简单】,这其实对于设计师来说的很简单的事情。写字的时候也有简单的时候,也有复杂的时候。真的需要怎么去取舍,这就要看你是如何去选择了。签名设计手写简单首先说一下,三秒艺术签名网的所有签名都是手写完成的,大家这一点不要质疑。其次是说到简单,其实写签名就是要让名字变得简单,好写,这样才会让人感觉,舒畅。但是不是什么字都能被写的简单的,这需要考虑一个文字的笔画多少程度,举个例子“饕餮”这两个字就不好去做简化。像,明啊,等啊,峰啊

    2025年9月22日
    9
  • 数据库三大范式是什么?(3NF详解)

    数据库三大范式是什么?(3NF详解)什么是范式 范式是数据库设计时遵循的一种规范 不同的规范要求遵循不同的范式 最常用的三大范式第一范式 1NF 属性不可分割 即每个属性都是不可分割的原子项 实体的属性即表中的列 第二范式 2NF 满足第一范式 且不存在部分依赖 即非主属性必须完全依赖于主属性 主属性即主键 完全依赖是针对于联合主键的情况 非主键列不能只依赖于主键的一部分 第三范式 3NF 满足第二范式 且不存在传递依赖 即非主属性不能与非主属性之间有依赖关系 非主属性必须直接依赖于主属性 不能间接依赖主属性 A amp g

    2026年3月19日
    2
  • 软件安装:mariadb安装教程

    软件安装:mariadb安装教程MySQL被Oracle收购后,出现了一个基于MySQL的开源数据库Mariadb。下面介绍一下Mariadb在windows7上的安装过程。下载时,提示要注册,可以选择不注册。真是跟MySQL的一样啊。安装教程连接:https://jingyan.baidu.com/article/f96699bb00ce67894e3c1b9a.html…

    2022年5月29日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号