Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将函数调用分配给另一个具有额外参数的函数调用的最简单方法是什么_Javascript - Fatal编程技术网

Javascript 将函数调用分配给另一个具有额外参数的函数调用的最简单方法是什么

Javascript 将函数调用分配给另一个具有额外参数的函数调用的最简单方法是什么,javascript,Javascript,我有一个函数调用,如: { . . . externals: (ctx, request, callback) => externalsHandler(ctx, request, callback, ['a', 'b']) } 如您所见,我在外部调用一个函数,并传递它的所有参数和一个数组 我想知道是否有更简单的方法 我发现有一件事是可行的: externals: (...args) => externalsHandler(...args, ['a', 'b']) 有没有更简单的方

我有一个函数调用,如:

{
.
.
.
externals: (ctx, request, callback) => externalsHandler(ctx, request, callback, ['a', 'b'])
}
如您所见,我在外部调用一个函数,并传递它的所有参数和一个数组

我想知道是否有更简单的方法

我发现有一件事是可行的:

externals: (...args) => externalsHandler(...args, ['a', 'b'])

有没有更简单的方法写这个问题?

如果我正确理解了你的问题,你会得到一个参数列表,你想将其应用到函数中。如上所述,您可以使用扩展语法
(…)
,也可以使用如下方法

(...args) => externalsHandler.apply(null, args.concat(['a', 'b'])

(…args)
方法已经是最简单的形式,并且比前一种方法好得多。如果可以更改参数的顺序,可以执行类似于
externals:externalsHandler.bind(['a',b'])的操作。
。你只能绑定第一个参数,这取决于你认为的更简单。可以使用包装器函数<代码>常量fn=(extraArg)=>(…args)=>externalsHandler(…args,extraArg)<代码>外部:fn(['a','b'])@jabaa是的,我可以更改顺序,但它不起作用。你可以将代码片段作为答案发布吗?应用程序需要一个
thisArg
。如果不需要,仍然需要像nullFixed这样的占位符。谢谢你指出,我错过了。谢谢。但它并不简单。也许不简单,但我发现它更干净。事实上,因为它更干净,我认为它也更简单。它可能更长,但它读起来要快得多,依我看