更新時間:2022-11-21 來源:黑馬程序員 瀏覽量:
項目開發(fā)中,若想要函數(shù)體中某部分功能由調(diào)用者決定,此時可以使用回調(diào)函數(shù)。所謂回調(diào)函數(shù)指的就是一個函數(shù)A作為參數(shù)傳遞給一個函數(shù)B,然后在B的函數(shù)體內(nèi)調(diào)用函數(shù)A此時,我們稱函數(shù)A為回調(diào)函數(shù)。其中,匿名函數(shù)常用作函數(shù)的參數(shù)傳遞,實現(xiàn)回調(diào)函數(shù)為了讓讀者更加清晰地了解什么是回調(diào)函數(shù),下面我們以算術(shù)運算為例進行演示。
function cal(numl, num2, fn) { return fn(numl, num2); } console.log(cal(45, 55, function(a, b) { return a + b; })); console.log(cal(10, 20, function(a, b) { return a * b; }));
上述第1~3行代碼定義了cal()函數(shù),用于返回fn回調(diào)函數(shù)的調(diào)用結(jié)果。第4~6行代碼用于調(diào)用cal()函數(shù),并指定該回調(diào)函數(shù)用于返回其兩個參數(shù)相加的結(jié)果,因此可在控制臺查看到結(jié)果為 100。同理,第7~ 9行代碼在調(diào)用 cal0 函數(shù)時,將回調(diào)函數(shù)指定為返回其兩個參數(shù)相乘的結(jié)果,因此可在控制臺查看到結(jié)果為 200。
從以上案例可以看出,在函數(shù)(如cal()函數(shù))中設(shè)置了回調(diào)函數(shù)后,可以根據(jù)調(diào)用時傳遞的不同參數(shù)(如相加的函數(shù),相乘的函數(shù)等),在函數(shù)體中特定的位置實現(xiàn)不同的功能相當于在函數(shù)體內(nèi)根據(jù)用戶的需求完成了不同功能的定制。
【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)當天offer率91%,薪資1W+占比54.2%,班級均薪12k+
2025-09-19