Javascript 在Node.js中,如何动态地将函数参数传递给子函数?

Javascript 在Node.js中,如何动态地将函数参数传递给子函数?,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我正在运行Node 6.11.0,尝试以动态方式执行此操作: const parentFunc = (arg1, arg2, arg3, arg4) => { childFunc('foo', arg1, arg2, arg3, arg4); }; 我试过这样做(不起作用): 在检查参数对象时,我对得到的结果感到困惑 是否有一种干净、动态的方法来实现这一点,以便可以更改arg的数量?Node.JS处理参数的方式是否与浏览器JS不同 谢谢你的帮助 您可以使用收集参数,然后将其传播给子级

我正在运行Node 6.11.0,尝试以动态方式执行此操作:

const parentFunc = (arg1, arg2, arg3, arg4) => {
  childFunc('foo', arg1, arg2, arg3, arg4);
};
我试过这样做(不起作用):

在检查
参数
对象时,我对得到的结果感到困惑

是否有一种干净、动态的方法来实现这一点,以便可以更改arg的数量?Node.JS处理
参数的方式是否与浏览器JS不同

谢谢你的帮助

您可以使用收集参数,然后将其传播给子级:

const parentFunc = (...args) => {
  childFunc('foo', ...args);
};
例如:

constchildfunc=(str1,str2,str3)=>`${str1}${str2}${str3}`;
常量parentFunc=(…args)=>childFunc('foo',…args);
log(parentFunc('bar','fizz')您可以使用来收集参数,然后将它们传播到子级:

const parentFunc = (...args) => {
  childFunc('foo', ...args);
};
例如:

constchildfunc=(str1,str2,str3)=>`${str1}${str2}${str3}`;
常量parentFunc=(…args)=>childFunc('foo',…args);

log(parentFunc('bar','fizz')
参数不起作用的原因是使用了arrow函数而不是ES5函数,arrow函数有意引用父作用域的
参数
,如果它们未在父作用域中定义,则抛出
constparentfunc=function(){childFunc('foo',…arguments)}
会工作得很好,甚至
constparentfunc=childFunc.bind(未定义,'foo')
非常感谢!现在我明白了:)之所以
参数
不起作用,是因为您使用了arrow函数而不是ES5函数,arrow函数故意引用父作用域的
this
参数
,如果它们未在父作用域中定义,则抛出
const parentFunc=function(){childFunc('foo',…参数)}
将运行良好,甚至
const parentFunc=childFunc.bind(未定义的'foo')
为此感谢!现在我明白了:)