回调函数
2018-03-19 20:56
225 查看
回调函数,就是把一个函数作为参数传给另一个函数,在主函数执行完毕后,再去执行这一个函数。
在mdn的解释:A callback function is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action.
作为回调函数,一般都是比较耗时的,常见的ajax请求就是其一。
这里引用下“我的老婆是校花”的例子: //定义主函数,回调函数作为参数
function A(callback) {
callback();
console.log('我是主函数');
}
//定义回调函数
function B(){
setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作
}
//调用主函数,将函数B传进去
A(B);
//输出结果
我是主函数
我是回调函数 此外我发现,在廖雪峰老师的ajax教程中,request.onreadystatechange = function () { // 状态发生变化时,函数被回调
if (request.readyState === 4) { // 成功完成
// 判断响应结果:
if (request.status === 200) {
// 成功,通过responseText拿到响应的文本:
return success(request.responseText);
} else {
// 失败,根据响应码判断失败原因:
return fail(request.status);
}
} else {
// HTTP请求还在继续...
}
} 这样也属于函数的回调。这里的function应该是被当作是参数。
在mdn的解释:A callback function is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action.
作为回调函数,一般都是比较耗时的,常见的ajax请求就是其一。
这里引用下“我的老婆是校花”的例子: //定义主函数,回调函数作为参数
function A(callback) {
callback();
console.log('我是主函数');
}
//定义回调函数
function B(){
setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作
}
//调用主函数,将函数B传进去
A(B);
//输出结果
我是主函数
我是回调函数 此外我发现,在廖雪峰老师的ajax教程中,request.onreadystatechange = function () { // 状态发生变化时,函数被回调
if (request.readyState === 4) { // 成功完成
// 判断响应结果:
if (request.status === 200) {
// 成功,通过responseText拿到响应的文本:
return success(request.responseText);
} else {
// 失败,根据响应码判断失败原因:
return fail(request.status);
}
} else {
// HTTP请求还在继续...
}
} 这样也属于函数的回调。这里的function应该是被当作是参数。
相关文章推荐
- 回调函数
- c/c++比较灵活的方法:回调函数和函数指针
- 回调函数与钩子函数
- STL算法之回调函数和函数对象的理解及设计
- jquery.form.js后台提交成功,但没触发回调函数
- 【C语言】函数指针与回调函数
- js回调函数
- perl 回调函数
- C++将类的成员函数作为回调函数
- 焦点改变时回调函数
- Unity知识五:Unity中ITween的回调函数的使用
- 函数指针和回调函数
- 理解和使用 JavaScript 中的回调函数
- c++类成员函数作为回调函数
- 15、JS回调函数与call函数
- 一直搞不懂回调函数 今天终于明白了
- 回调函数
- c++回调函数
- 【转】easyui $.message.alert 点击右上角的关闭按钮时,不执行定义的回调函数
- 回调函数以及钩子函数的概念