### 什么是回调函数?是否能举个例子?
#### 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对象对比