传递函数和函数的参数

时间:2018-03-19 11:41:57

标签: javascript

我可以传递函数和参数作为参数吗?

我只能传递功能而且它正在工作

function wrap(foo) { 
 foo();
};

wrap(() => {
 console.log("test")
});

但我还想传递一些参数来运行 wrap 。不仅功能 foo

3 个答案:

答案 0 :(得分:6)

当然可以



function wrap(foo, bar) {
  console.log(bar);
  foo();
};

wrap(() => {
  console.log("test")
}, 'somebar value');




答案 1 :(得分:1)

是的,你可以在函数中传递额外的参数

function wrap(foo, msgObj) { 
 foo(msgObj.msg);
};

wrap((msg) => {
 console.log("test", msg)
// test, here is your extra value
},
 {msg:'here is your extra value'}
);

答案 2 :(得分:0)

你可以这样做:



function wrap(foo, externalMsg) { 
 foo(externalMsg);
};

wrap((msg) => {
 console.log(msg)
}, 'Ele from SO');




甚至,您可以使用预定义的函数初始化params:



function wrap(externalMsg, foo = (msg) => {
 console.log(msg)
}) { 
 foo(externalMsg);
};

wrap('Ele from SO');