### 什么是回調函數?是否能舉個例子?
#### Answer
回調函數是作為參數傳遞給另一個函數一旦事件發生或者某一個任務完成時被執行,經常在異步代碼中使用。回調函數在初始化時被聲明但是不會被調用
舉個例子,事件監聽器是異步回調函數只有當指定的事件發生后才會執行
function onClick() { console.log("The user clicked on the page.") } document.addEventListener("click", onClick)
然而,回調也可以是同步的。下面的`map`函數使用了一個回調函數在每一次數組的循環中同步地調用
const map = (arr, callback) => { const result = [] for (let i = 0; i < arr.length; i++) { result.push(callback(arr[i], i)) } return result } map([1, 2, 3, 4, 5], n => n * 2) // [2, 4, 6, 8, 10]
#### Good to hear
* 函數是一等公民
* 回調函數和Promise對象對比