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

时间:2016-10-06 00:45:47

标签: javascript higher-order-functions

"use strict";
function square(x) {
    return x * x;
}
function add(square,y) {
    return square(4) +y
    document.write(square + y)
}
add(4,1);
console.log(add(4,1));

我必须使用另一个函数的参数中的函数。我想输出17。

2 个答案:

答案 0 :(得分:2)

只需将其称为:

add(square,1);

您可能还想更改

function add(square,y) {
    return square(4) +y
    document.write(square + y)
}

是:

function add(square,y) {
    document.write(square(4) + y)        
    return square(4) +y
}

根据安德鲁的评论,将document.write调用更改为console.log并打开浏览器控制台以阅读结果也是一个不错的选择。

答案 1 :(得分:2)

如果将函数声明中的参数名称更改为更通用,但也更容易识别为函数要求,则可能更容易可视化。

此处使用的名称与您实际传递的功能名称无关

function add(func, num) {
    document.write(func(4) + num);
    return func(4) + num;    
}

add(square,1);

然后在另一个电话中你可以做

add(myOtherCalcFunction, 6);