一篇比较清楚的文章:
一个最简单的例子,清楚说明回调函数的作用和强大功能 by since 1978
来源:
http://blog.csdn.net/sicluoyi/archive/2007/08/11/1737969.aspx
考虑一个这样的例子:
假如某个项目的底层和高层是由不同的人员协同完成.底层负责数据的存取,高层负责数据的表示.当高层要用到某个模块的数据,于是他对底层人员说,我需要你们提供满足某种需求的数据,你给我提供一个接口.
底层的人员说:我给你提供数据,怎么展示和处理则是你的事情.我不可能为你每个需求都提供一个数据接口,我给你提供一个通过的接口.你得到数据,然后自己写函数去展示.由是经过协商,双方提供了一个这样的接口:
//data表示底层提供的数据源,funcName表示高层的调用函数
function(data,funcName){
1.data属于情形1,由底层处理;
2.data属于情形2,由高层处理,怎么处理呢?利用高层提供的函数funcName处理
.....
}
我可能还没说清楚,我们看个例子一下子就明白了
//假如提供的数据源是一整数,为某学生的分数,当num<=0,由底层处理,当n>0时由高层处理.
//将下面这个函数拷贝下来存盘为1.js
function f(num,callback){
if(num<0) {
alert("调用低层函数处理!");
alert("分数不能为负,输入错误!");
}else if(num==0){
alert("调用低层函数处理!");
alert("该学生可能未参加考试!");
}else{
alert("调用高层函数处理!");
callback();
}
}
//将下面这个test.html文件存盘与1.js在一个目录下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script src="1.js" type="text/javascript"></script>
<title>无标题文档</title>
<script type="text/javascript">
function test(){
var p=document.getElementById("pp");
pp.innerText="";
var num=document.getElementById("score").value;
f(num,function(){ //匿名高层处理函数
if(num<60) alert("未及格!");
else if(num<=90) alert("该生成绩优良!");
else alert("该生成绩优秀!"); })
pp.innerText="by since1978 qq558064!"
}
</script>
</head>
<body>
<p>
回调函数示例:当学生成绩score<=0分时候,由底层处理;当score>0时,由高层处理。
</p>
请输入学生成绩<input type="text" id="score">
<input type="button" onClick="test()" value=" 看看结果">
<p id="pp"></p>
</body>
</html>
运行此文件,可以看到效果
分享到:
相关推荐
js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数...
如何向回调函数中传参数 最近写JS经常会因为向回调函数中传参而头疼,今天总结一下向回调函数中传参的方法,以后的应用中就不用在到处去找了。
回调函数被连续执行两次或多次的原因: 根本原因:回调函数的事件预订【+=】语句被执行了两次或多次。 实例:移动web页的代码页类MobileDefault的Page_Init事件过程,包含的InitializeComponent()连续出现了两次...
1、背景 Javascript中的回调函数,相信大家都不陌生,最明显的例子是做Ajax请求时,提供的回调函数, 实际上DOM节点的事件处理方法(onclick,ondblclick等)也是回调函数。 在使用DWR的时候,回调函数可以作为第一个...
css文件未做任何修改,js文件添加了DaDaCallBack回调函数(点击确定按钮后回调)calendar.init({'DaDaCallBack':function(value)});
理解JavaScript的闭包是迈向高级JS程序员的必经之路, 理解了其解释和运行机制才能写出更为安全和优雅的代码。
回调示例
js回调函数,回调函数.js描述了回调函数定义以及用途
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。因此callback 不一定...
理解和使用 JavaScript 中的回调函数,,,,,,,,,,,,,,,,,,
这份资源详细介绍了JavaScript中回调函数的概念和用法。文档中提供了回调函数的基本定义、回调函数的使用场景以及回调函数的实现方法等多个方面的内容,为开发者提供了全面的指导和帮助。 本文档还介绍了如何使用回...
js回调函数
javascript 回调函数示例
其实回调函数简单通俗点就是当有a和b两个函数,当a作为参数传给b,并在b中执行,这时a就是一个回调(callback)函数,如果a是一个匿名函数,则为匿名回调函数那下面们来通过一个实例来具体解释下Javascript回调函数怎么...
ocx和js的交互调用。 ocx中事件函数,调用js中的回调函数例程。 适用初学者。良心奉献。内有说明
本文实例讲述了JS回调函数原理与用法。分享给大家供大家参考,具体如下: JS回调函数 何为回调函数,官方解释:当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数...
js回调函数 内容概要:js回调函数 适合人群:工作1-3年的前端人员
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。因此callback 不一定...
一些使用回调函数的小例子,融合了javascript技术中的callback函数、定时器、js动画以及结点思想。