Heim > Web-Frontend > js-Tutorial > Hauptteil

javascript的回调函数应用示例_javascript技巧

WBOY
Freigeben: 2016-05-16 16:59:06
Original
944 Leute haben es durchsucht

回调函数概念:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。

JS Api 里这样解释:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

使用回调函数的原因:可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。

考虑一个这样的例子:

假如某个项目的底层和高层是由不同的人员协同完成.底层负责数据的存取,高层负责数据的表示.当高层要用到某个模块的数据,于是他对底层人员说,我需要你们提供满足某种需求的数据,你给我提供一个接口.

底层的人员说:我给你提供数据,怎么展示和处理则是你的事情.我不可能为你每个需求都提供一个数据接口,我给你提供一个通过的接口.你得到数据,然后自己写函数去展示.由是经过协商,双方提供了一个这样的接口:

复制代码 代码如下:

//data表示底层提供的数据源,funcName表示高层的调用函数

function(data,funcName){

1.data属于情形1,由底层处理;

2.data属于情形2,由高层处理,怎么处理呢?利用高层提供的函数funcName处理

.....

}

我可能还没说清楚,我们看个例子一下子就明白了
复制代码 代码如下:

//假如提供的数据源是一整数,为某学生的分数,当num0时由高层处理.

//将下面这个函数拷贝下来存盘为1.js

function f(num,callback){
if(numalert("调用低层函数处理!");
alert("分数不能为负,输入错误!");
}else if(num==0){
alert("调用低层函数处理!");
alert("该学生可能未参加考试!");
}else{
alert("调用高层函数处理!");
callback();
}
}

复制代码 代码如下:

//将下面这个test.html文件存盘与1.js在一个目录下:

BR>"http://www.w3.org/TR/html4/loose.dtd">




Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage