高阶函数

通常,对其他函数进行操作的函数(通过将它们作为参数或通过返回它们(或两者)来执行)被称为高阶函数。

高阶函数是一个可以将另一个函数作为参数的函数。传递回调时,你正在使用高阶函数。

function iAmCallbackFunction() {
    console.log("callback has been invoked");
}

function iAmJustFunction(callbackFn) {
    // do some stuff ...

    // invoke the callback function.
    callbackFn();
}

// invoke your higher-order function with a callback function.
iAmJustFunction(iAmCallbackFunction);

高阶函数也是一个函数,它返回另一个函数作为结果。

function iAmJustFunction() {
    // do some stuff ...

    // return a function.
    return function iAmReturnedFunction() {
        console.log("returned function has been invoked");
    }
}

// invoke your higher-order function and its returned function.
iAmJustFunction()();