简单理解的话就是在一个函数执行完毕后,得到想要的特定数据后在去执行的函数
把一个函数作为参数传递
<html>
<head>
<title>回调函数(callback)</title>
<scriptlanguage="javascript" type="text/javascript">
function test(){
var score = document.getElementById("score").value;
myfun(score,function(){
alert("这是回调函数,应该在最后");
});
}
function myfun(num,callback){
if(num<60){
alert("不及格");
}else if(num<90){
alert("良好");
}else{
alert("优秀");
}
callback();
}
</script>
</head>
<body>
<h1>学习js回调函数</h1>
成绩:<inputtype="text" id="score"/></br>
<inputtype="button" value="判断" onclick="test()" />
<p>应该能看到调用了两个回调函数</p>
</body>
</html>
它的主要 作用是在当一个函数执行完成后,才来执行此函数。在ajax请求中常用于根据不同的返回结果来处理不同的任务,
传统函数以参数形式输入数据,并且使用返回语句返回值。理论上,在函数结尾处有一个return返回语句,结构上就是:一个输入点和一个输出点。这比较容易理解,函数本质上就是输入和输出之间实现过程的映射。
但是,当函数的实现过程非常漫长,你是选择等待函数完成处理,还是使用回调函数进行异步处理呢?这种情况下,使用回调函数变得至关重要,例如:AJAX请求。若是使用回调函数进行处理,代码就可以继续进行其他任务,而无需空等。实际开发中,经常在javascript中使用异步调用,甚至在这里强烈推荐使用!