博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈回调函数
阅读量:6234 次
发布时间:2019-06-21

本文共 701 字,大约阅读时间需要 2 分钟。

最近学习js的异步执行,用到回调函数,对这个机制不是很理解,故查了一些资料,在此整理分享一下自己的理解。

维基百科对回调函数的定义:

在中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过传递到其它代码的,某一块的。这一设计允许了代码调用在高层定义的。

知乎上一个网友提供的生动描述:

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。
 
自己的理解:按维基百科的说明理解起来是将回调函数(代码块),作为参数传递给调用函数,由调用函数执行回调函数的代码逻辑。这和函数的调用似乎没有多大区别。但感觉这不像是回调函数,原因是没有突出‘回调’二字。在js中结合回调函数应用的上下文概念,回调函数作为参数似乎只是传递了一个函数指针(函数名)给调用函数,调用函数会触发回调函数到定义其的上下文中去执行。就像饭点到了,你自己没备蔬菜,邻居叫你过去,前一种理解似乎是这样,你等着,他家做好饭你一起吃。后一种是他做好了你打包了一份,带回家吃。自己倾向于后一种理解,原因是调用的函数不需要知道回调函数要做什么,只要知道他的名字,通知他做就好了。
 
理解的还不是很透彻,希望大家多多指教。
 
 

转载于:https://www.cnblogs.com/bwkj/p/8271272.html

你可能感兴趣的文章
nagios客户端未启动报错
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
《OpenGL ES应用开发实践指南:Android卷》—— 1.3 初始化OpenGL
查看>>
马士兵教学语录
查看>>
计算机网络与Internet应用
查看>>
MongodDB学习笔记(二)(复制)
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
linux性能剖析工具
查看>>
VS2005环境下采用makefile编译、使用libjpeg.lib函数库
查看>>
EBS多语言
查看>>
说说设计模式~ 模版模式(Template)
查看>>
【linux】文件隐藏属性
查看>>
Java 命名规则
查看>>
RTC设备驱动
查看>>
小公司的管理
查看>>
无废话WCF入门教程三[WCF的宿主]
查看>>
iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
查看>>
详细解析:如何制作嵌入式Linux文件系统
查看>>
C# 两个独立exe程序直接通信
查看>>
【Unity3d】【项目学习心得】从资源server下载资源(一)
查看>>