2019-10-16 seo達人
測試代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<button id="btn">按鈕</button>
<script>
let btn = document.getElementById("btn");
btn.onclick = () => { // 鉤子函數
console.log('我是鉤子函數');
}
btn.addEventListener("click",() =>{ // 回調函數
console.log('我是回調函數');
});
// 這是給btn綁定了一個監聽器,后面那個函數是它的回調函數,
// 因為消息捕獲的過程我們并不能參與,而在捕獲執行完畢的時候,
// 回調函數才會執行,我們可以把對消息的處理寫在回調函數里。
</script>
</body>
</html>
點擊按鈕后代碼輸出如下:
回調函數和鉤子函數的區別根本上是
鉤子函數在捕獲消息的第一時間就執行,而回調函數是捕獲結束時,最后一個被執行的。
什么是鉤子函數
一般認為,鉤子函數就是回調函數的一種,其實還是有差異的,差異地方就是:觸發的時機不同。
鉤子(Hook)概念源于Windows的消息處理機制,通過設置鉤子,應用程序對所有消息事件進行攔截,然后執行鉤子函數。
什么是回調函數
回調函數其實是調用者將回調函數的指針傳遞給了調用函數,當調用函數執行完畢后,通過函數指針來調用回調函數。
鉤子函數和回調函數都是事件處理函數
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。