原文鏈接:http://www.cnblogs.com/minshia/p/5935951.html
一. 回調(diào)函數(shù)的作用
js代碼會至上而下一條線執(zhí)行下去,但是有時候我們需要等到一個操作結(jié)束之后再進(jìn)行下一個操作,這時候就需要用到回調(diào)函數(shù)。
二. 回調(diào)函數(shù)的解釋
因為函數(shù)實際上是一種對象,它可以存儲在變量中,通過參數(shù)傳遞給另一個函數(shù),在函數(shù)內(nèi)部創(chuàng)建,從函數(shù)中返回結(jié)果值”,因為函數(shù)是內(nèi)置對象,我們可以將它作為參數(shù)傳遞給另一個函數(shù),到函數(shù)中執(zhí)行,甚至執(zhí)行后將它返回,它一直被“專業(yè)的程序員”看作是一種難懂的技術(shù)。
回調(diào)函數(shù)的英文解釋為:
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
翻譯過來就是:回調(diào)函數(shù)是一個作為變量傳遞給另外一個函數(shù)的函數(shù),它在主體函數(shù)執(zhí)行完之后執(zhí)行。
function A有一個參數(shù)function B,function B會在function A執(zhí)行完成之后被調(diào)用執(zhí)行。
三. 回調(diào)函數(shù)的使用方法
代碼如下:
function a(callbackFunction){
alert("這是parent函數(shù)a");
var m =1;
var n=3;
return callbackFunction(m,n);
}
function b(m,n){
alert("這是回調(diào)函數(shù)B");
return m+n;
}
$(function(){
var result = a(b);
alert("result = "+ result);
});
執(zhí)行順序為:
這是parent函數(shù)a
這是回調(diào)函數(shù)B
result = 4
函數(shù)首先執(zhí)行了主題函數(shù)a,之后調(diào)用了回調(diào)函數(shù)b,最后返回函數(shù)a的返回值。