mill2002 @博客园

contacting with pc fans and sharing collections

学习回调函数的笔记

将不同的回调函数传给某一函数,该函数将相应实现不同的功能,这样该函数自身保持不变,可
提高复用,同时可以完成多种任务,达到定义与实现的解耦。

状态模式与回调函数的结合使用,可以使逻辑分支简单清晰,功能多样。详见李先静的书
《程序员成长计划》第十章。

回调函数实际就是一个指向函数的指针,作为函数的参数,当需要时,写出来(也就是调用)就可实现

相应作用,其中回调函数带有上下文参数,用于存储、或其他作用(如扩展)。

用户界面与实现函数(内部实现)通过回调函数(或接口)使内部实现反向调用用户界面,
见李先静老师的书第11章。

JS中回调函数的使用:
AjaxInAction中第10章“输入前提示”中
var loader1 = new net.ContentLoader
(theTextBox.obj.erverLoader,BuildChoices,null,"Post",strParams);
其中BuildChoices就是回调函数,当创建net.Contentloader时,BuildChoices就被调用。

现在看的书(ebook)
android.开发书籍.Pro.Android.Web.Apps.Develop.for.Android.using.HTML5,.CSS3.&.JavaScript
中第4章todolist.js有callback的调用,当时的感觉是,该函数与本地数据库操作有关,是builtin的

吗?答案:错!
getMostImportantTask: function(callback){
中的callback是形参,实际参数是调用getMostImportantTask时传递过来的起处理作用的函数。
todolist.js中后半段:
activeMain : function(){
 ToDoList.Storage.getMostImportantTask(function(task)){
  if(task){
其中传给getMostImportantTask的匿名函数就是前面形参callback所对应的实参。

在activateMain中给出了在getMostImportantTask使用的callback的实现,即
function(task){
 if(task){
   jQuery("#main .notasks").remove();

在卢春城的Lesktop中大量使用的callback应该也是这样的作用。待总结。

posted on   mill2002  阅读(189)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2012年6月 >
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
1 2 3 4 5 6 7

导航

统计

点击右上角即可分享
微信分享提示