将命名参数传递给Javascript函数

时间:2013-07-11 09:57:08

标签: javascript function parameter-passing named

用类似

的方式调用Javascript函数
someFunction(1, true, 'foo');

在不熟悉该功能的情况下不是很清楚。

我已经看到并使用了插入注释的样式来命名参数:

someFunction(/*itemsToAdd*/1, /*displayLabel*/ true, /*labelText*/ 'foo');

但是当它超过3个或更多参数时,最好在JSON对象中传递参数,使其与顺序无关,并允许在被调用函数中提供默认值

someFunction({'itemsToAdd':1, 'labelText':'foo', 'displayLabel':true});

我的问题是;该行业的一般做法是什么,并且存在不使用任何这些方法的最重要原因。例如,Lint不喜欢第二种方法。

1 个答案:

答案 0 :(得分:0)

就个人而言,我只是grep函数名称并查看与之关联的注释。维护良好的代码将在函数上方添加注释,解释参数是什么以及它对它们的作用,如果需要解释为什么你的参数是它们的方式,你可以将它粘贴到函数调用之上。

使用JSON传递参数似乎是一种添加不必要的解析开销并可能混淆维护者的方法 - 只需添加更多字段并将NULL传递到您想要默认值的字段,您就可以解释为什么在调用注释中传入NULL而不是让它们不出现在JSON中。