一种数据类型
参数、返回值
函数太灵活了, 无所不能
一般情况下 把函数作为参数 目的就是为了获取函数内部的异步操作结果
JavaScript 单线程、事件循环
最基础的使用
function add1 (x, y) {
return x + y
}
console.log(add1(1, 3));
setInterval(function () {
console.log('hello')
}, 1000)
注意: 凡是需要得到一个函数异步操作的结果 setTimeout redFile ajax 这种情况必须通过:回调函数
// 不成立
let add = (x, y) => {
setTimeout(() => {
console.log(2)
let ret = x + y
return ret
}, 1000)
}
console.log(add(10, 30))
// 成立
let add = (x, y, callback) => {
console.log(1)
setTimeout(() => {
// callback 就是回调函数
// let x=1
// let y = 30
// let callback=ret=>{console.log(ret)}
let ret = x + y
callback(ret)
})
}
add(1, 30, ret => {
console.log(ret);
})