初學js的時候,被回呼函數搞得很暈,現在回過頭來總結一下什麼是回呼函數。
我們先來看看回呼的英文定義:A callback is a function that is passed as an argument to another function and is executed after its parent function has complepleted。
字面上的理解,回呼函數就是一個參數,將這個函數作為參數傳到另一個函數裡面,當那個函數執行完之後,再執行傳進去的這個函數。這個過程就叫做回調。
其實也很好理解對吧,回調,回調,就是回頭呼叫的意思。主函數的事先幹完,回頭再呼叫傳進來的那個函數。但是以前看過很多博客,他們總是將回調函數解釋的雲裡霧裡,很高深的樣子。
舉一個別人舉過的例子:約會結束後你送你女朋友回家,離別時,你肯定會說:「到家了給我發條訊息,我很擔心你。 」對不,然後你女朋友回家以後還真給你發了條訊息。小伙子,你有戲了。其實這就是一個回調的過程。你留了個參數函數(請女朋友給你發個訊息)給你女朋友,然後你女朋友回家,回家的動作是主函數。她必須先回到家以後,主函數執行完了,再執行傳進去的函數,然後你就收到一封訊息了。
現在基本上理解回呼函數的意思了吧。不理解的話沒關係,我們用程式碼說話。
//定义主函数,回调函数作为参数function A(callback) { callback(); console.log('我是主函数'); }//定义回调函数function B(){ setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作 }//调用主函数,将函数B传进去A(B);//输出结果我是主函数 我是回调函数
上面的程式碼中,我們先定義了主函數和回呼函數,然後再去呼叫主函數,將回呼函數傳進去。
定義主函數的時候,我們讓程式碼先去執行callback()回呼函數,但輸出結果卻是後輸出回呼函數的內容。這就說明了主函數不用等待回呼函數執行完,可以接著執行自己的程式碼。所以一般回呼函數都用在耗時操作上面。例如ajax請求,例如處理文件等。
本文講解了JS回呼函數實例,更多相關內容請關注php中文網。
相關推薦:
以上是JS回呼函數實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!