js中的回調函數的理解和使用方法

js中的回調函數的理解和使用方法程序員

一. 回調函數的做用ajax

js代碼會至上而下一條線執行下去,可是有時候咱們須要等到一個操做結束以後再進行下一個操做,這時候就須要用到回調函數。函數

二. 回調函數的解釋spa

由於函數其實是一種對象,它能夠存儲在變量中,經過參數傳遞給另外一個函數,在函數內部建立,從函數中返回結果值」,由於函數是內置對象,咱們能夠將它做爲參數傳遞給另外一個函數,到函數中執行,甚至執行後將它返回,它一直被「專業的程序員」看做是一種難懂的技術。翻譯

回調函數的英文解釋爲:對象

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

翻譯過來就是:回調函數是一個做爲變量傳遞給另一個函數的函數,它在主體函數執行完以後執行。it

function A有一個參數function B,function B會在function A執行完成以後被調用執行。io

 

 字面上的理解:
 
回調函數就是一個參數,將這個函數做爲參數傳到另外一個函數裏面,當那個函數執行完以後,再執行傳進去的這個函數。這個過程就叫作回調。
 
其實也很好理解對吧,回調,回調,就是回頭調用的意思。主函數的事先幹完,回頭再調用傳進來的那個函數 
 

 

三. 回調函數的使用方法console

代碼以下:

 function a(callbackFunction){
   alert("這是parent函數a");
   var m =1;
   var n=3;
  return callbackFunction(m,n);
 }
 function b(m,n){
   alert("這是回調函數B");
   return m+n;
 }
 $(function(){
   var result = a(b);
   alert("result = "+ result);
 });

執行順序爲:

這是parent函數a

這是回調函數B

result = 4

函數首先執行了主題函數a,以後調用了回調函數b,最後返回函數a的返回值。

再看一段代碼:

 

//定義主函數,回調函數做爲參數function A(callback) {
callback();
console.log('我是主函數');
}

 

//定義回調函數function B(){
setTimeout("console.log('我是回調函數')", 3000);//模仿耗時操做 }

 

//調用主函數,將函數B傳進去A(B);

 

//輸出結果我是主函數

我是回調函數

 

上面的代碼中,咱們先定義了主函數和回調函數,而後再去調用主函數,將回調函數傳進去。定義主函數的時候,咱們讓代碼先去執行callback()回調函數,但輸出結果倒是後輸出回調函數的內容。這就說明了主函數不用等待回調函數執行完,能夠接着執行本身的代碼。因此通常回調函數都用在耗時操做上面。好比ajax請求,好比處理文件等。

相關文章
相關標籤/搜索