日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

回調函數作為我們經常用到的一種函數,看似復雜,實則很容易理解,下面讓我來帶你一步步理解回調函數。

詳解

我們先來看一個我們最熟悉的普通函數的定義與調用。

function map (c) {
  console.log(c);
}
map(5);
詳解回調函數

 

這是我們最常見的函數,而這種函數定義時就是規(guī)定了方法,而需要傳入變量。

那我們換一種思維,我們規(guī)定好函數的變量,而傳入方法呢,我們這里設置方法b為我們的形參

var map = function (b) {
    b(4);
}

這時我們發(fā)現(xiàn),我們在調用函數map的時候需要傳入一個方法進去,那我們就按照定義傳入一個方法。

map( function(a) {
    console.log(a);
} );

此時我們并沒有給這個傳入的方法起名字,這個方法又稱之為匿名函數,所以我們這里調用map方法時可以簡寫為

map((a) => {
  console.log(a);
});
詳解回調函數

 

打印4,而我們紅框里的內容就是我們傳入的參數,這不過這個參數是一個函數罷了。也就是說,紅框里的內容與上面的形參b相等,我們用紅框里的函數去替換b,就得到了 console.log(4) 。

二次回調函數

我們再來看一個二次回調的例子

剛才我們在函數定義時規(guī)定了變量是一個常數,而如果我們將這個常數換為一個匿名函數呢

var map = function (b){
  b( (a)=>{
    console.log(a);
  } );
};

我們看到,剛才的4換為了一個函數,我們如何去調用方法map呢?

我們可以逆向思維想象一下,我們調用函數map時需要傳入一個參數,參數替代b,而我們此時b里已經有了方法,而缺少變量,這就相當于我們上面講一次回調函數時的調用函數部分,此時我們傳入一個定義了變量而參數是個方法的方法進去,就相當于一次回調函數的函數定義部分。

map( function (e) {
    e(6);
} );

簡寫為 map( (e) => {e(6);} ); 。

詳解回調函數

 

此時我們紅框里的內容依舊相當于上面的形參b,而替換掉b以后,我們藍框里的內容就相當于下面的形參e,再替換掉e以后,就只剩下了我們最終想要表達的打印方法 console.log(6); 。

總結

根據二次回調函數的思想,我們可以無限回調。但我們對多次回調函數很少用到。

我們對于基礎知識應該牢牢把握才能理解整篇代碼。

分享到:
標簽:回調 函數
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰(zhàn)2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定