我可以传递函数和参数作为参数吗?
我只能传递功能而且它正在工作
function wrap(foo) {
foo();
};
wrap(() => {
console.log("test")
});
但我还想传递一些参数来运行 wrap 。不仅功能 foo
答案 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');