Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当正常函数返回相同结果时,为什么要使用高阶函数?_Javascript_Function_Higher Order Functions - Fatal编程技术网

Javascript 当正常函数返回相同结果时,为什么要使用高阶函数?

Javascript 当正常函数返回相同结果时,为什么要使用高阶函数?,javascript,function,higher-order-functions,Javascript,Function,Higher Order Functions,因此,在学习高阶函数时,我注意到,除了返回另一个函数外,仅使用普通函数也可以得到相同的结果。返回另一个函数的目的是什么?为什么要使用高阶函数 //高阶函数 function createNumbers(p) { return function(x) { return x * p; }; } let create = createNumbers(2); console.log(create(3)); //return 6 //正常函数给了我同样的结果 funct

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

//高阶函数

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));

谢谢你花时间回答,先生,现在我更清楚了。