• 学习回调函数的笔记


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

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

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

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

    用户界面与实现函数(内部实现)通过回调函数(或接口)使内部实现反向调用用户界面,
    见李先静老师的书第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应该也是这样的作用。待总结。

  • 相关阅读:
    字符串替换
    Problem E: Automatic Editing
    正则表达式学习(1)
    python中的enumerate使用
    使用bottle进行web开发(9):文件上传;json传递
    使用bottle进行web开发(8):get的参数传递,form里的额数据传递等
    dict的setdefault(学习bottle源代码)
    使用bottle进行web开发(6):Response 对象
    使用bottle进行web开发(5):Generating Content
    使用bottle进行web开发(4):HTTPError
  • 原文地址:https://www.cnblogs.com/mill2002/p/2539940.html
Copyright © 2020-2023  润新知