JS回調函數精講

什麼是回調函數?

在函數的參數中傳入一個函數,然後再函數內部調用這個函數,這個函數就叫做回調函數:

function fn(callBack){
	callBack();
}
fn(function (){
	console.log('回調函數執行');
})

爲什麼需要回調函數?

在我們寫很多公用函數時,我們希望我們的函數能夠誰拿來用都很舒服,那麼有些操作我們就不能寫死,這樣我們用戶就可以拿我們的這個函數幹更多他想幹的事,也就達到了我們想要的效果“公用函數”。

原生JS函數舉例:

我們大家都知道數組中有一個方法叫做sort,sort方法的默認排序方式是通過字符串的Unicode編碼進行排序的,可是我們想要進行數字的大小排序以及一些別的數據的排序怎麼辦呢?重寫一個sort函數嗎?不!sort函數它爲我們提供了一個回調函數,我們可以在回調函數中編寫我們想要的排序代碼,然後sort函數再拿到我們的返回值給我們進行一系列的操作排序:

[3,6,7,9,8,1,0,2].sort(function (a, b){
	return a-b;
})

什麼時候我們使用回調函數?

當我們的函數需要執行一些不定性操作,而這些操作是根據用戶來定的時我們就需要回調函數
例如,我們寫一個函數,我們的用戶想要再我們函數的執行結束時執行一些操作可是他無法判斷我們的函數何時結束所以我們就給用戶提供一個回調函數在程序結束時我們來調用用戶傳遞的回調函數就達到了這個需求:

function fn(callBack){
	console.log('函數即將結束');
	if(callBack){//判斷用戶是否傳了回調函數,如果沒傳我們就不用執行
		callBack();//在要結束時調用用戶想要在這時執行操作的函數
	}
}

總結

回調函數就是我們提供給用戶一些在特定時間點想要執行操作的接口,當滿足特定時間點了我們就幫助用戶完成他們想要的操作。

謝謝大家的觀看支持,如有發現文中錯誤處歡迎評論指出,希望能幫到大家,謝謝~!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章