回调函数
当 函数 A 接收函数 B 作为参数,或者把函数 C 作为返回值输出时,我们称 函数 A 为高阶函数。
通俗来说,高阶函数是 对其他函数进行操作 的函数。
举例:
function fn1(a, b, callback) {
console.log(a + b);
// 执行完上面的 console.log() 语句之后,再执行下面这个 callback 函数。也就是说,这个 callback 函数是最后执行的。
callback && callback();
}
fn1(10, 20, function () {
console.log('我是最后执行的函数');
});
// 结果
// 30
// 我是最后执行的函数
function fn1() {
let a = 20;
return function () {
console.log(a);
};
}
const foo = fn1(); // 执行 fn1() 之后,会得到一个返回值。这个返回值是函数
foo();
上面代码的返回值赋给了 foo , foo执行相当于内部函数的执行。 也就是所谓的闭包。