什么叫CallBack函數,怎么用回調函數?


JQuery眾多常用方法中很經常會用到回調函數, 理解好js callback函數定義及用法,我們就可以利用callback函數幫我們做很多事情啦!

A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

這是js對callback函數的解析,意思是:callback函數是一個以參數形式傳遞給另一個函數的函數,並且該函數(指callback函數)必須等另一個函數執行完才會被調用!(當被調用時,另一個函數就是callback函數的父函數)。

理解起來可能有點繞,通俗點的例子:

函數a有一個參數,這個參數是個函數b,當函數a執行完以后執行函數b。那么這個過程就叫回調。

這里必須強調的一點:函數b是你以參數形式傳給函數a的,那么函數b被調用時就叫回調函數。

疑問:

函數一定要以參數形式傳過去嗎,直接在函數a里面調用函數b不也可以實現callback函數的功能嗎?

解答:

使用函數做參數就有下面的好處:當你a(b)的時候函數b就成了回調函數,而你還可以a(c)這個時候,函數c就成了回調函數。如果你直接在函數a里調用的話,這個回調函數就被限制死了。如果你寫成了function a(){...;b();}就失去了變量的靈活性。

來個最簡單的示例:

<script>
        function a(callback){
            alert("主函數執行完了!");
            callback();
        }
        function b(){
            alert("回調函數b!");
        }
        function c(){
            alert("回調函數c!");
        }
        // callback函數以參數形式傳遞,保證變量的靈活性
        a(b);
        a(c);
</script>
                        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM