亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文徹底理解JS回調(diào)函數(shù)

 更新時(shí)間:2022年12月13日 17:10:52   作者:dkvirus  
回調(diào)函數(shù)是從一個(gè)叫函數(shù)式編程的編程范式中衍生出來(lái)的概念,簡(jiǎn)單來(lái)說(shuō),函數(shù)式編程就是使用函數(shù)作為變量,這篇文章主要介紹了一文徹底理解JS回調(diào)函數(shù),需要的朋友可以參考下

一、前奏

在談回調(diào)函數(shù)之前,先看下下面兩段代碼:
不妨猜測(cè)一下代碼的結(jié)果。

function say (value) {
    alert(value);
}
alert(say);
alert(say('hi js.'));

如果你測(cè)試了,就會(huì)發(fā)現(xiàn):

只寫變量名 say 返回的將會(huì)是 say方法本身,以字符串的形式表現(xiàn)出來(lái)。

而在變量名后加()如say()返回的就會(huì)使say方法調(diào)用后的結(jié)果,這里是彈出value的值。

二、js中函數(shù)可以作為參數(shù)傳遞

再看下面的兩段代碼:

function say (value) {
    alert(value);
}
function execute (someFunction, value) {
    someFunction(value);
}
execute(say, 'hi js.');

function execute (someFunction, value) {
    someFunction(value);
}
execute(function(value){alert(value);}, 'hi js.');

上面第一段代碼是將say方法作為參數(shù)傳遞給execute方法
第二段代碼則是直接將匿名函數(shù)作為參數(shù)傳遞給execute方法

實(shí)際上:

function say (value) {
    alert(value);
}
// 注意看下面,直接寫say方法的方法名與下面的匿名函數(shù)可以認(rèn)為是一個(gè)東西
// 這樣再看上面兩段代碼是不是對(duì)函數(shù)可以作為參數(shù)傳遞就更加清晰了
say;

function (value) {
    alert(value);
}

這里的say或者匿名函數(shù)就被稱為回調(diào)函數(shù)。

三、回調(diào)函數(shù)易混淆點(diǎn)——傳參

如果回調(diào)函數(shù)需要傳參,如何做到,這里介紹兩種解決方案。

  • 將回調(diào)函數(shù)的參數(shù)作為與回調(diào)函數(shù)同等級(jí)的參數(shù)進(jìn)行傳遞

回調(diào)函數(shù)傳參方法1

  • 回調(diào)函數(shù)的參數(shù)在調(diào)用回調(diào)函數(shù)內(nèi)部創(chuàng)建

回調(diào)函數(shù)參數(shù)在調(diào)用回調(diào)函數(shù)內(nèi)部創(chuàng)建

四、寫在最后

回調(diào)函數(shù)應(yīng)用場(chǎng)景多用在使用 js 寫組件時(shí),尤其是組件的事件很多都需要回調(diào)函數(shù)的支持。
關(guān)于回調(diào)函數(shù)還有什么問(wèn)題可以在下面留言,一起交流。

到此這篇關(guān)于一文徹底理解JS回調(diào)函數(shù)的文章就介紹到這了,更多相關(guān)js回調(diào)函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 小程序?qū)崿F(xiàn)滑動(dòng)塊效果

    小程序?qū)崿F(xiàn)滑動(dòng)塊效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)滑動(dòng)塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • js中var、let、const之間的區(qū)別

    js中var、let、const之間的區(qū)別

    本文主要介紹了js中var、let、const之間的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • js實(shí)現(xiàn)向右橫向滑出的二級(jí)菜單效果

    js實(shí)現(xiàn)向右橫向滑出的二級(jí)菜單效果

    這篇文章主要介紹了js實(shí)現(xiàn)向右橫向滑出的二級(jí)菜單效果,涉及javascript鼠標(biāo)事件及頁(yè)面元素的隱藏與顯示實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • 微信小程序 接入騰訊地圖的兩種寫法

    微信小程序 接入騰訊地圖的兩種寫法

    這篇文章主要介紹了微信小程序 接入騰訊地圖的兩種寫法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Bootstrap基本組件學(xué)習(xí)筆記之分頁(yè)(12)

    Bootstrap基本組件學(xué)習(xí)筆記之分頁(yè)(12)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap基本組件學(xué)習(xí)筆記之分頁(yè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 最新評(píng)論