如何在javascript中将带参数的函数作为参数传递给函数?

如何在javascript中将带参数的函数作为参数传递给函数?,javascript,Javascript,我是javascript新手,在学习高阶函数时,我学习了如何将函数作为参数传递给其他函数。如何将带参数的函数传递给函数 我想在将函数作为参数传递给主函数时传递函数的参数 例如: function fubar(a,b,fun(c,d)){ //execute here } foobar(5, 10, baz, ham); function foobar(a, b, fn1, fn2){ ... fn1(); // call the baz function. res

我是javascript新手,在学习高阶函数时,我学习了如何将函数作为参数传递给其他函数。如何将带参数的函数传递给函数

我想在将函数作为参数传递给主函数时传递函数的参数

例如:

function fubar(a,b,fun(c,d)){
//execute here
}
foobar(5, 10,  baz,  ham);

function foobar(a, b, fn1, fn2){
    ...
    fn1(); // call the baz function.
    res = fn2(a,b); // calls ham func with a and b as parameter
    console.log(res) 
    ...
}

function baz(){
   console.log("Inside the Baz function ");
}

function ham(s,t){
   console.log(s, t);
   return s+t;
 }
而不是像这样

function fubar(a,b,fun()){
  fun(a,b)
}

您只需要将函数名作为参数传递,就像另一个变量一样

例如:

foobar(5, 10,  baz,  ham);

function foobar(a, b, fn1, fn2){
    ...
    fn1(); // call the baz function.
    res = fn2(a,b); // calls ham func with a and b as parameter
    console.log(res) 
    ...
}

function baz(){
   console.log("Inside the Baz function ");
}

function ham(s,t){
   console.log(s, t);
   return s+t;
 }

下面是一个示例,只需像常规参数一样传递它,不需要特定语法:)

//像常规参数一样定义函数参数
功能fubar(a、b、fn){
//像调用函数一样调用该参数
返回fn(a,b);
}
//样本函数
功能添加(c、d){
返回c+d;
}
//像传递常规参数一样传递“add”函数
让结果=fubar(1,2,相加);

控制台日志(结果)如果您询问如何传递将使用某些预定义参数执行的函数,则可以使用另一个函数来传递

比如说

const a='a'
常数b='b'
常数c='c'
常数d='d'
功能fubar(a、b、fn){
console.info('func:',a,b,fn())//在此处执行“fn()”
}
功能乐趣(arg1、arg2){
console.info('fun:',arg1,arg2)
return'returnvalue from fun'//只是一个示例,您可以在fubar()中看到它
}

fubar(a,b,()=>fun(c,d))
不清楚你问题中的代码与实际问题的关系。您的代码显示了一个函数定义。如果定义函数参数,只需给它一个参数名,即
函数fubar(a,b,fn){…}