回调函数 简单理解
初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数。
我们先来看看回调的英文定义: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请求,比如处理文件等。
回调函数 简单理解相关推荐
- 【转】JS回调函数--简单易懂有实例
JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...
- js回调函数的理解(轉)
js回调函数(callback)理解Mark!讲之前说一句function say(){alert(,,,,,,,,)}var say=function (){alert(,,,,,,,)}var s ...
- 回调函数举例ajax,通过回调函数的理解来进一步理解ajax及其注意的用法
一,再一次理解回调函数 (function($){ $.fn.shadow = function(opts){ //定义的默认的参数 var defaults = { copies: 5, opaci ...
- Java 回调函数的理解
以下是我对java回调函数的理解,希望对各位有帮助. 简而言之,假设有两个类A与B,还有一个回调接口C(有一个c方法).其中A类持有一个B类对象作为属性和拥有一个a方法,并实现了接口C,所以A类中就有 ...
- Android回调的简单理解
1.什么是回调 回调的定义是在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类, ...
- 我的C++回调函数的理解
今天在看一个多线程下载文件的代码时,让我很头痛.因为该程序中运用了大量的回调函数. 在我们学习一种技术的时候我们就要去知道几个问题 1. 回调函数是什么东西? 2. 回调函 ...
- javascript中回调函数的理解和应用
一. 什么是回调函数? 被作为实参传入另一函数,并在该外部函数内被调用,用以来完成某些任务的函数,称为回调函数. function f1(fn) {let a =1;console.log(a,'a' ...
- 对于Python中回调函数的理解
关于回调函数,网上有很多说明和各种解释,多数在尝试用语言描述.我认为,如果对各个角色之间的关系不清楚,如果没有相关的编程需求,那么语言便非常无力,很难理解. 这是360百科的解释: 在计算机程序设计中 ...
- 对“回调函数”的理解
举例说明 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这个例子里,你的 电话号码 就叫 回调函 ...
最新文章
- windows 2003 活动目录的更改域名后缀技巧
- 快速了解上市公司年报
- sklearn自学指南(part13)--贝叶斯回归
- WinRAR 6.0 官方版 非常强大好用的压缩包管理器
- @Inner使用及原理
- Cadence Orcad Capture鱼眼视图Fisheye view介绍图文视频教程
- 在手机上共享屏幕,更专业的远程协助软件
- matlab gui 保存文件,Matlab GUI的文件打開和保存uigetfile uigetdir
- 专访程炳皓:八年一觉“开心”梦
- 微信抢票应用-个人总结
- JAVA实训项目第一次日志
- 零知识证明之什么是QAP?什么是P/NP、NP完全问题(NPC问题)、NP hard问题?多项式时间
- 09 嵌入式C语言如何实现多级队列缓存(Queue、FIFO)
- 进行范围查找的折半查找法
- 酸了!她在MSRA实习短短半年时间内便完成了两篇入选顶级学术会议 AAAI、ACL 的研究...
- IP地址分类详解:A、B、C、D类地址如何划分的以及保留地址(特殊地址)介绍
- DISTINCT和COUNT的组合使用
- 记录一下,转换树结构数据
- 云和恩墨大讲堂·武汉站圆满落幕,矢志不移再出发(附演讲PPT下载)
- 【苏嵌实训-嵌入式 linux C 第 1天】