Javascript 在Node.js中,如何动态地将函数参数传递给子函数?
我正在运行Node 6.11.0,尝试以动态方式执行此操作: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不同 谢谢你的帮助 您可以使用收集参数,然后将其传播给子级
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')
为此感谢!现在我明白了:)