javascript - 当普通函数返回相同结果时,为什么要使用高阶函数?

标签 javascript function higher-order-functions

因此,在学习高阶函数时,我注意到除了返回另一个函数之外,仅使用普通函数也可以获得相同的结果。返回另一个函数的目的是什么以及为什么我应该使用高阶函数?

//高阶函数

function createNumbers(p) {
    return function(x) {
        return x * p;
    };
}

let create = createNumbers(2);
console.log(create(3)); //return 6

//正常函数给了我相同的结果

function count(y, z) {
    return y * z;
}
console.log(count(2, 3)); // return 6

最佳答案

高阶函数可以保存并重复使用。

const doubler = createNumbers(2);
console.log(doubler(3));
console.log(doubler(4));

您还可以将其用作回调。

const array = [1, 3, 5, 6];
const doubled_array = array.map(createNumbers(2));

关于javascript - 当普通函数返回相同结果时,为什么要使用高阶函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58458461/

相关文章:

javascript - 加载时定位 D3 SVG Canvas x/y 和缩放级别

c++ - 将空数组传递给函数、在该函数中输入值并返回值的示例

scala - 如何在 "Scala"中按键减少 [Not In Spark]

Kotlin Map 以类作为键?

javascript - 使用一个函数作为另一个函数的参数

javascript - 从不解析从 Node+Express API 到 MongoDB 的 HTTP 请求

javascript - bootstrap modal.js 最后一个完整按钮丢失

javascript - npm install 超过了最大调用堆栈大小

python - 在模块函数调用之间存储状态

ios - 两个方法完成后要执行的方法怎么写(ios)