iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0

高階函數 (Higher-Order Function)

是指「接受或是回傳函式」的函式
換句話就是符合下列其中一項就算是高階函數

  • 用別的 function 當參數
  • 回傳 function
/* 
 * hi() & hey() 為高階函數
 * inner() 為普通函數
 */
function hi(a) {
  a()()
}

function hey() {
  function inner() {
    console.log('inner!!')
  }
  
  return inner
}

hi(hey)

JavaScript 中很常使用到的一些內建方法其實就是高階函式,其中最常見的有 map()、filter()...等用來處理 Array 的函數

const numbers = [1, 2, 3, 4, 5];

// 使用高階函數 map
const doubled = numbers.map(function (num) {
    return num * 2;
});

console.log(doubled); // [2, 4, 6, 8, 10]

回呼函數 Callback Function

又稱為回調、回叫函式,是一種作為參數傳遞給另一個函數的函數,它會在該函數執行完畢後才被執行。

btn.addEventListner("click", function(){
  console.log("click!!")
})

以上面那段程式碼來看
addEventListener 就是一個高階函數,因為他用了一個 function 當作參數
而作為參數的 function() { console.log("click!!") } 就是一個回呼函數


上一篇
Day 6 - JavaScript:函數
下一篇
Day 8 - JavaScript 陣列
系列文
從零開始 - 30 天學習筆記12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言