我有一个问题:为什么不在关联数组中传递函数自变量?还是对象?这是个坏习惯吗?
代替
function (a, b, c) { return a }
为什么不
function (array) { return array.a }
?
原因:
当我们调用此函数时,我们以错误的顺序传递了args,它不会中断。
在更新函数并更改所需的args时(例如,我们将“ d”添加为args),我们不需要更改函数args声明
我是编程新手,对这个愚蠢的问题感到抱歉。
答案 0 :(得分:0)
拥有多个基本类型参数而不是对象或关联数组的优点之一是,只要没有太多参数,就可以说更容易阅读。如果您不想强迫调用者事先将参数打包到一个对象中,则重用起来也可能会更容易。
将对象或数组作为参数传递当然不是坏习惯。在某些情况下,几乎绝对是最佳选择。
如果您有大量参数,则可能应该将带有参数的对象传递给您。这使事情更容易阅读,将来也更容易修改。如果这样做,最好在函数定义的开头解构对象,如下所示:
function doStuff (parameterObject) {
const { a, b, c } = parameterObject;
// ...
}
当一个函数没有最大数量的参数时,最好将所有参数传递到数组中,然后在函数中进行处理。
对于传递给函数的内容没有设定的规则,但是最重要的是要对此保持精明。