91成人精品,神马影院东京干,国产一级做a爰片久久 亚洲日韩欧美一区二区三区_国产AV无码专区亚洲AV

js 徹底理解回調(diào)函數(shù)

2021-4-26    前端達(dá)人

一、前奏

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

function say (value) {
    alert(value);
} alert(say); alert(say('hi js.')); 
  • 1
  • 2
  • 3
  • 4
  • 5

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

只寫變量名 say 返回的將會是 say方法本身,以字符串的形式表現(xiàn)出來。
而在變量名后加()如say()返回的就會使say方法調(diào)用后的結(jié)果,這里是彈出value的值。 
  • 1
  • 2

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

再看下面的兩段代碼:

function say (value) { alert(value);
} function execute (someFunction, value) { someFunction(value);
}
execute(say, 'hi js.'); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

function execute (someFunction, value) { someFunction(value);
}
execute(function(value){alert(value);}, 'hi js.'); 
  • 1
  • 2
  • 3
  • 4

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

實際上:

function say (value) { alert(value);
} // 注意看下面,直接寫say方法的方法名與下面的匿名函數(shù)可以認(rèn)為是一個東西 // 這樣再看上面兩段代碼是不是對函數(shù)可以作為參數(shù)傳遞就更加清晰了 say; function (value) { alert(value);
} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
這里的say或者匿名函數(shù)就被稱為回調(diào)函數(shù)。  
  • 1

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

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

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


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


四、寫在最后

回調(diào)函數(shù)應(yīng)用場景多用在使用 js 寫組件時,尤其是組件的事件很多都需要回調(diào)函數(shù)的支持。

轉(zhuǎn)自:csdn 作者:dkvirus


藍(lán)藍(lán)設(shè)計www.b186.net )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)


日歷

鏈接

個人資料

存檔

麻栗坡县| 宕昌县| 丹寨县| 衡阳县| 时尚| 札达县| 建水县| 禄丰县| 西平县| 定日县| 神农架林区| 清水河县| 广东省| 山丹县| 靖州| 宁远县| 昌黎县| 呈贡县| 万年县| 华蓥市| 抚宁县| 武夷山市| 凤山县| 青龙| 临泉县| 田东县| 无锡市| 冕宁县| 富裕县| 敦化市| 河源市| 永仁县| 河源市| 万载县| 翁牛特旗| 博野县| 南投市| 临夏县| 张家港市| 张家港市| 屏东县|