一直一来对回调函数这个概念都很模糊:
在JavaScript语言精粹一书中对回调函数的介绍如下:
2.这种方式的问题在于,网络上的同步请求会导致客户端进入假死状态,如果网络传输或服务器很慢,响应会慢到让人不可接受。 更好的方式是发起异步请求,提供一个当服务器的响应到达时随即触发的回调函数。异步函数立即返回,这样客户端就不会被堵塞。
3.我们传递一个函数作为参数给send_request-synchronously函数,一旦接收响应,它会被立即调用
在JavaScript语言精粹一书中对回调函数的介绍如下:
1.函数使得对不连续事件的处理变得更容易。例如,假定有这么一个序列,由用户交互行为触发,向服务器发送请求,最终显示服务器的响应。最自然的写法可能会是这样的:
request = prepare_the_request();
response = send_request-synchronously(request);
display(response);
2.这种方式的问题在于,网络上的同步请求会导致客户端进入假死状态,如果网络传输或服务器很慢,响应会慢到让人不可接受。 更好的方式是发起异步请求,提供一个当服务器的响应到达时随即触发的回调函数。异步函数立即返回,这样客户端就不会被堵塞。
request = prepare_the_request();
send_request-synchronously(request,function(response){
display(response);
});
3.我们传递一个函数作为参数给send_request-synchronously函数,一旦接收响应,它会被立即调用
以上这部分其实已经解释了回调函数的用法,接下来再举个例子,简单点说明就是把方法a当做一个参数传递给方法mian,当方法mian执行完后执行另外一个指定函数(a)。这里a就是回调函数
function main(callback)
{
alert("main fun");
callback();
}
function a(){
alert("a fun");
}
main(a);