`
ming206
  • 浏览: 13873 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
社区版块
存档分类
最新评论

java,php,javaScript中的回调函数的实现

阅读更多
任何程序都能实现回调函数,其基本思想都是一样,具体实现起来它们之间稍微有所不同,以下是我通过java,php,javaScript三者如何实回调函数来说明,废话少说,行动!

java的回调函数,一般是通过定义接口来做,当然也可以定义抽象类.

具体如下:

<1>接口定义:

package com;
/*
* 定义一个接口
*/
public interface CallBack {
   /*定义一个抽象方法*/
    abstract void doExec(String str);
}

<2>定义一个类:

package com;
import com.CallBack;
/**
* 定义一个类
* @author Administrator
*/
public class DoExcute{
    /**
     * 这个方法会用到回调方法
     * @param name 随便传一个参数进去
     * @param callBack 回调参数
     */
public static void doExcute(String name,CallBack callBack) {
      callBack.doExec(name);
}
    public static void main(String args[])
    {
    String name="莫小明";
    //第一次调用
    DoExcute.doExcute(name, new CallBack(){
      public void doExec(String strCal){
        String str="大家好,我叫:"+strCal+"叫偶小明哥就行了.嘿嘿.";
       //执行具体的操作功能
        //这里就做一个最最简单的打印功能吧
        System.out.println(str);
       }
    });
   
    //第二次调用,实现了另一功能
    DoExcute.doExcute(name, new CallBack(){
      public void doExec(String strCal){
       //执行你想要的功能,或则在这里又调用一个新方法
        //,甚至new 一个新的类都有可能.具体要看你怎么设计合理性
        p(strCal);
       }
    });
    //
   
    }
    //简单的测试一个东西
    private static void p(String name)
{
    String str=("莫小明".equals(name))? "是帅哥!":"是野兽";
     System.out.println(name+str);
}
}


PHP的回调函数,就目前我测试,我只知道这样做.

<?php
/*
* 定义一个类
*/
class DoHepler{
    /*
* 这个方法执行某种功能,该功能交给回调函数来实现
* 参数callBack:回调函数
*/
public static function doExec($callBack)
{
    $callBack();
}
}
//第一次调用,将回调函数callBack0传入:
DoHepler::doExec('callBack0');
//第二次调用,将回调函数callBack1传入:
DoHepler::doExec('callBack1');
//回调函数callBack0
function callBack0()
{
   //复杂的逻辑留给你自己来处理......
   echo 'run now !';
}
//回调函数callBack1
function callBack1(){
    //复杂的逻辑留给你自己来处理......
    print("<hr> goto beijing !");
}
?>

JS中的做法.JS中的做法稍微灵活.........具体方法比较多,我这里只是其中一种

<script language="jscript">
//
function A(p,callback){
    //带都少个参数都可以
    alert(p);
    callback();
}
function __Callback_0(){
    //这里可能做一系列的变化
    alert("call back!");
}

A("<br>1.",__Callback_0);
//直接将函数做为参数传递
A("<br>2.",function c(){alert("go go !!!!!!!!!");});
//直接将函数做为参数传递
A("<hr>3.",function c(){
   var i=25;
     var c="小明哥";
    var x="男";
     document.write("名称:"+c+",性别:"+x+",年龄:"+i);
});
</script>

小结:回调函数在程序设计中起到非常重要的作用,如用得当,最整个程序有着非常重要的作用.我们一般在必要时候和在合理的地方使用某种特殊的设计(并非处处使用),会给程序设计添加一份绚丽的一道光....
分享到:
评论

相关推荐

    基于JavaScript+css+php支持断点续传的文件上传插件.zip

    基于JavaScript+css+php支持断点续传的文件上传插件.zip ... 在V2.0版本中,实现了文件的断点续传功能,这样在上传大文件的时候,就不用担心中途中断后重新从头再上传的麻烦了。...添加文件上传各阶段的回调函数 断点续传

    PHP API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    ASP API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    .NET API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    JSP API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    JS JSP ASP .NET J2AM API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    JS API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    2AM API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    jquery数组封装使用方法分享(jquery数组遍历)

    回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略. each遍历,相信都不陌生,在平常的事件处理中,是for循环...

    xheditor-1.1.14

    onUpload:文件上传成功回调函数 参数值:成功后需要执行的函数 说明:这个函数执行时返回的值为上传程序返回的msg变量,可能为字符串或者数组,若为字符串则直接代表url,若是数组,则必需包含一个url的变量,其它...

    nodejs0-1:从零到一学习node.js

    node.js是什么 node.js 是一个开发平台,就像Java、.Net、PHP、Apple等开发平台一样。...事件驱动(当事件被触发时,执行传递过去的回调函数) 非阻塞 I/O 模型(当执行I/O操作时,不会阻塞线程) 单线

    【卷一/共两卷】AJAX实战pdf高清版90M

    2.5.4 使用回调函数监视请求 2.5.5 完整的生命周期 2.6 Ajax有何不同 2.7 小结 2.8 资源 第3章 使AjaX秩序井然 3.1 从混沌到秩序 3.1.1 模式:创造通用的词汇表 3.1.2 重构与Ajax 3.1.3 保持均衡 3.1.4 重构实战 3.2...

    Node.js 开发指南.pdf

    3.2.2 回调函数 31 3.2.3 事件 33 3.3 模块和包 34 3.3.1 什么是模块 35 3.3.2 创建及加载模块 35 3.3.3 创建包 38 3.3.4 Node.js包管理器 41 3.4 调试 45 3.4.1 命令行调试 45 3.4.2 远程调试 ...

    Node.js+开发指南

    3.2.2 回调函数 31 3.2.3 事件 33 3.3 模块和包 34 3.3.1 什么是模块 35 3.3.2 创建及加载模块 35 3.3.3 创建包 38 3.3.4 Node.js包管理器 41 3.4 调试 45 3.4.1 命令行调试 45 3.4.2 ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    2、 Ajax我们主要应用就是xmlhttprequest,回调函数实现局部刷新达道数据更新! 4.2需求分析 Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为...

    jquery插件使用方法大全

    它几乎与 $.get(url, data, success) 等价,不同的是它不是全局函数,并且它拥有隐式的回调函数。当侦测到成功的响应时(比如,当 textStatus 为 "success" 或 "notmodified" 时),.load() 将匹配元素的 HTML 内容...

    基于J2EE框架的个人博客系统项目毕业设计论...

    2、 Ajax我们主要应用就是xmlhttprequest,回调函数实现局部刷新达道数据更新! 4.2需求分析 Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为...

    hitokoto-api:版本:1,现行的 API 运行框架

    支持返回 JS 回调函数 支持 length 区间返回 返回 JS 的支持 支持 GBK 编码 开源数据集 A/B 无感知更新数据 官方扩展 网易云音乐 我们一直致力于框架的可维护性与可扩展性,这也是为什么我们选择下一版本(v2)将...

Global site tag (gtag.js) - Google Analytics