微信小程序开发教程(基础篇)4-关于回调函数,匿名函数,闭包的杂谈

本文通过外卖和Windows消息循环的例子介绍了回调函数的概念和作用,解释了为何需要回调函数,并探讨了匿名函数在简化编码中的价值。同时,文章深入浅出地讲解了闭包技术在上下文传递中的重要性,特别是在处理回调函数时如何避免全局变量和内存泄漏问题。
摘要由CSDN通过智能技术生成

严格来说,这不能算是一篇微信小程序教程,不过会使用到上一篇中的app.js代码作为示例,姑且充个数吧。

回调函数

回调函数,对于初入编程这一行的同学可能会有些难以理解,毕竟回调函数的使用和程序顺序执行的直观流程是相悖的。

想象你定了一个外卖,一种是你定时去查看外卖有没有到,一种是你出示电话号码给外卖员,到达的时候电话通知你。

很容易可以看出第二种是更加高效的方案,其实这种通知机制应用到编程领域,就是回调函数了。

熟悉win32开发的同学应该知道,典型的windows程序框架就是一个消息循环外加一个窗口过程函数。其中windows系统接管消息接受,之后调用开发者的窗口过程函数来完成具体的消息处理逻辑。窗口过程函数就是一个回调函数。

为什么需要回调函数

以上面的 win32程序为例。我们知道出于安全性考虑,windows操作系统是不允许开发者直接访问硬件资源的。微软的开发者提供了api来处理消息循环,但是具体消息的响应逻辑需要开发者来提供,这种情形下,回调函数就是很好的实现方案。

再举一个例子,想象你参与一个手机设备管理软件项目的开发工作,你负责底层设备通信模块。当用户插入设备到电脑中时,你需要通知上层的模块进行处理。出于灵活性和通用性的考虑,你不可能将设备连接时的处理逻辑放在你负责的模块中,此时可以由上层调用者提供一个回调函数,在设备连接时你的模块调用回调函数即可。

关于回调函数,有一个所谓的好莱坞准则:Don’t call me; I’ll call you!

匿名函数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值