当创建带有多个参数的JavaScript函数时,我总是面临这样的选择:传递参数列表与传递选项对象。
例如,我正在编写一个将nodeList映射到数组的函数:
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
我可以改用这个:
function map(options){
...
}
其中options是一个对象:
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
推荐哪种方法?是否有关于何时使用一个与另一个的指南?
[更新]对于选项对象似乎已经达成共识,所以我想添加一条评论:在我的案例中,我很想使用参数列表的原因之一是其行为与JavaScript一致内置array.map方法。
Array.prototype.map
有一个简单的API,不应让任何半经验的编码人员感到困惑。