普通函數(shù)與回調(diào)函數(shù)主要是在調(diào)用方式上有區(qū)別:
1、對普通函數(shù)的調(diào)用:調(diào)用程序發(fā)出對普通函數(shù)的調(diào)用后,程序執(zhí)行立即轉(zhuǎn)向被調(diào)用函數(shù)執(zhí)行,直到被調(diào)用函數(shù)執(zhí)行完畢后,再返回調(diào)用程序繼續(xù)執(zhí)行。從發(fā)出調(diào)用的程序的角度看,這個過程為“調(diào)用-->等待被調(diào)用函數(shù)執(zhí)行完畢-->繼續(xù)執(zhí)行”。
2、對回調(diào)函數(shù)調(diào)用:調(diào)用程序發(fā)出對[回調(diào)函數(shù)]的調(diào)用后,不等函數(shù)執(zhí)行完畢,立即返回并繼續(xù)執(zhí)行。這樣,調(diào)用程序執(zhí)和被調(diào)用函數(shù)同時在執(zhí)行。當(dāng)被調(diào)函數(shù)執(zhí)行完畢后,被調(diào)函數(shù)會反過來調(diào)用某個事先指定函數(shù),以通知調(diào)用程序:函數(shù)調(diào)用結(jié)束。這個過程稱為回調(diào)(Callback),這正是回調(diào)函數(shù)名稱的由來。