欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS回調(diào)函數(shù) callback的理解與使用案例分析

 更新時(shí)間:2019年09月09日 10:39:23   作者:HyperDai  
這篇文章主要介紹了JS回調(diào)函數(shù) callback的理解與使用,結(jié)合具體案例形式分析了javascript回調(diào)函數(shù)的功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了JS回調(diào)函數(shù) callback的理解與使用。分享給大家供大家參考,具體如下:

基本理解一個(gè)概念

回調(diào)函數(shù)回頭再調(diào)用函數(shù),等主干事情干完了,再回頭干分支上的事情。

官方定義

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

實(shí)例1

//定義主函數(shù),回調(diào)函數(shù)作為參數(shù)
function A(callback) {
  callback();
  console.log('我是主函數(shù)');
}
//定義回調(diào)函數(shù)
function B(){
  setTimeout("console.log('我是回調(diào)函數(shù)')", 3000);//模仿耗時(shí)操作
}
//調(diào)用主函數(shù),將函數(shù)B傳進(jìn)去
A(B);

輸出結(jié)果:

我是主函數(shù)
我是回調(diào)函數(shù)

實(shí)例2

function a() {
  console.log("執(zhí)行a函數(shù)");
  setTimeout(function(){
      console.log("執(zhí)行a函數(shù)的延遲函數(shù)");
  },1000);
  function b() {
    console.log("執(zhí)行函數(shù)b");
  );
  a();
  b();
};

輸出結(jié)果

以上代碼會(huì)先執(zhí)行函數(shù)a,而且不會(huì)等到a中的延遲函數(shù)執(zhí)行完才執(zhí)行函數(shù)b, 在延遲函數(shù)被觸發(fā)的過(guò)程中就執(zhí)行了函數(shù)b,當(dāng)js引擎的event 隊(duì)列空閑時(shí)才會(huì)去執(zhí)行隊(duì)列里等待的setTimeout的回調(diào)函數(shù),這就是一個(gè)異步的例子

調(diào)用 setTimeout 函數(shù)會(huì)在一個(gè)時(shí)間段過(guò)去后在隊(duì)列中添加一個(gè)消息。這個(gè)時(shí)間段作為函數(shù)的第二個(gè)參數(shù)被傳入。如果隊(duì)列中沒(méi)有其它消息,消息會(huì)被馬上處理。但是,如果有其它消息,setTimeout 消息必須等待其它消息處理完。因此第二個(gè)參數(shù)僅僅表示最少的時(shí)間 而非確切的時(shí)間

所以即使,時(shí)間設(shè)置為0,也是會(huì)照樣先執(zhí)行函數(shù)b

結(jié)語(yǔ)

回調(diào)函數(shù)廣泛運(yùn)用在同步(sync)和異步(async)

常見(jiàn)的:

還需要深挖:js單線程和js異步

瀏覽器常駐三大線程: js引擎線程,GUI渲染線程,瀏覽器事件觸發(fā)線程

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JS實(shí)現(xiàn)合并json對(duì)象的方法

    JS實(shí)現(xiàn)合并json對(duì)象的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)合并json對(duì)象的方法,涉及javascript遞歸調(diào)用與json格式數(shù)據(jù)遍歷的相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • splitChunks精細(xì)控制代碼分割降低包大小

    splitChunks精細(xì)控制代碼分割降低包大小

    這篇文章主要為大家介紹了如何使用splitChunks精細(xì)控制代碼分割來(lái)實(shí)現(xiàn)降低包大小的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • JS 對(duì)輸入框進(jìn)行限制(常用的都有)

    JS 對(duì)輸入框進(jìn)行限制(常用的都有)

    本文為大家介紹下使用js對(duì)輸入框進(jìn)行限制:文本框只能輸入數(shù)字代碼、只能輸入數(shù)字、只能輸入字母和漢字、只能輸入英文字母和數(shù)字等等,還有很多,感興趣的可以學(xué)習(xí)下
    2013-07-07
  • JavaScript?邏輯且(&&)和邏輯或(||)的運(yùn)用小結(jié)

    JavaScript?邏輯且(&&)和邏輯或(||)的運(yùn)用小結(jié)

    這篇文章主要介紹了JavaScript?邏輯且(&&)和邏輯或(||)的妙用?,通過(guò)實(shí)例代碼介紹了邏輯且(&&)和邏輯或(||)的詳細(xì)用法,需要的朋友可以參考下
    2022-09-09
  • js給table賦值的實(shí)例代碼

    js給table賦值的實(shí)例代碼

    下面小編就為大家?guī)?lái)一篇js給table賦值的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • js如何監(jiān)聽(tīng)input輸入事件及使用防抖封裝函數(shù)處理方法

    js如何監(jiān)聽(tīng)input輸入事件及使用防抖封裝函數(shù)處理方法

    這篇文章主要給大家介紹了關(guān)于js如何監(jiān)聽(tīng)input輸入事件及使用防抖封裝函數(shù)處理方法的相關(guān)資料,最近有一個(gè)需求,需要我們實(shí)時(shí)監(jiān)聽(tīng)input輸入框中的內(nèi)容,從而帶來(lái)更好的用戶體驗(yàn),需要的朋友可以參考下
    2023-07-07
  • uniapp使用u-upload組件來(lái)實(shí)現(xiàn)圖片上傳功能

    uniapp使用u-upload組件來(lái)實(shí)現(xiàn)圖片上傳功能

    最近在用uniapp開(kāi)發(fā)微信小程序,下面這篇文章主要給大家介紹了關(guān)于uniapp使用u-upload組件來(lái)實(shí)現(xiàn)圖片上傳功能的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • js實(shí)現(xiàn)石頭剪刀布游戲

    js實(shí)現(xiàn)石頭剪刀布游戲

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)石頭剪刀布游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)

    javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • js實(shí)現(xiàn)精美的圖片跟隨鼠標(biāo)效果實(shí)例

    js實(shí)現(xiàn)精美的圖片跟隨鼠標(biāo)效果實(shí)例

    這篇文章主要介紹了js實(shí)現(xiàn)精美的圖片跟隨鼠標(biāo)效果,實(shí)例分析了javascript鼠標(biāo)事件及頁(yè)面樣式的操作技巧,需要的朋友可以參考下
    2015-05-05

最新評(píng)論