zoukankan      html  css  js  c++  java
  • 学习回调函数的笔记

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

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

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

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

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

  • 相关阅读:
    C++中类模板的概念和意义
    C++中模板类声明和实现能否分离?
    C/C++ 关于大小端模式,大小端字节序转换程序
    C++中的赋值操作符重载和拷贝构造函数
    C++中的友元
    C/C++内存对齐详解
    C++ 虚函数表、函数地址、内存布局解析
    虚析构函数的必要性(C++)
    C++中的抽象类和接口
    C++中的单例类模板
  • 原文地址:https://www.cnblogs.com/mill2002/p/2539940.html
Copyright © 2011-2022 走看看