【发布时间】:2016-08-25 08:01:34
【问题描述】:
如果这个问题很愚蠢,请原谅,但我需要问一下。
我不久前开始使用回调函数,我想知道我是否做得最好。
我现在正在做的事情是这样的:
function foo(someArg, callbackFunc, callbackArg1, callbackArg1, callbackArg3, .. callbackArgN);
为了使我的代码更清晰、更易于维护,我想要实现的是:
callBackArgs= {
0: callbackArg1,
1: callbackArg1,
2: callbackArg3,
.
.
N: callbackArgN
}
我想像这样执行 foo() :
function foo(someArg, callbackFunc, callBackArgs)
然后在 foo 函数中,我想以一种可以将它们用作 callbackFunc 的参数的方式操作 callBackArgs。
PS。物体的长度并不总是一样的。
【问题讨论】:
-
如果你在 ES6 上尝试使用 Spread 语法 - 萌信息在这里:developer.mozilla.org/en/docs/Web/JavaScript/Reference/…
-
为什么需要将回调的所有参数传递给调用它的函数?
-
是的,传递你要传递给回调的参数听起来很奇怪,应该没有必要。如果需要,回调可以“携带”它自己的参数,并且您的
foo会在需要时将其他参数传递给回调。foo不必担心或知道callbackFunc的额外参数不是源自foo本身。 -
好的,在这种情况下...我仍然认为您不需要传递所有参数。我的问题是,可能有更好的方法来构建代码,这样您就不需要传递所有这些值。
-
@nnnnnn 也许我应该退后一步,重新考虑一下代码结构。
标签: javascript function callback arguments