更新時間:2022-11-21 來源:黑馬程序員 瀏覽量:
項目開發(fā)中,若想要函數體中某部分功能由調用者決定,此時可以使用回調函數。所謂回調函數指的就是一個函數A作為參數傳遞給一個函數B,然后在B的函數體內調用函數A此時,我們稱函數A為回調函數。其中,匿名函數常用作函數的參數傳遞,實現(xiàn)回調函數為了讓讀者更加清晰地了解什么是回調函數,下面我們以算術運算為例進行演示。
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()函數,用于返回fn回調函數的調用結果。第4~6行代碼用于調用cal()函數,并指定該回調函數用于返回其兩個參數相加的結果,因此可在控制臺查看到結果為 100。同理,第7~ 9行代碼在調用 cal0 函數時,將回調函數指定為返回其兩個參數相乘的結果,因此可在控制臺查看到結果為 200。
從以上案例可以看出,在函數(如cal()函數)中設置了回調函數后,可以根據調用時傳遞的不同參數(如相加的函數,相乘的函數等),在函數體中特定的位置實現(xiàn)不同的功能相當于在函數體內根據用戶的需求完成了不同功能的定制。