将包含在对象内的参数赋予函数是个坏主意吗?

cor*_*zza 1 javascript performance arguments function

通常,随着我的代码库的增长,函数会收到越来越多的参数,并且维护变得有点草率,所以我通常只是默认为这样:

f = function(args){return args.v + 1;}

f({"v":2});
Run Code Online (Sandbox Code Playgroud)

看起来更干净,但可以吗?为什么不是每个人都这样做?

Bar*_*klı 5

通常,如果函数占用太多参数,则可能做得太多.您应该考虑将其重构为较小的函数/对象.

鲍勃叔叔在他的"清洁代码"一书中建议使用极少参数的函数,我同意.当您有许多参数或传入对象或数组时,很难读取代码.如果你在没有读取函数体的情况下传入一个对象,我无法猜测函数将对所有参数或者作为参数的期望做什么.