在创建具有多个参数的JavaScript函数时,我总是面临这样的选择:传递参数列表与传递选项对象.
例如,我正在编写一个函数来将nodeList映射到数组:
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
Run Code Online (Sandbox Code Playgroud)
我可以改用它:
function map(options){
...
}
Run Code Online (Sandbox Code Playgroud)
options是一个对象:
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
Run Code Online (Sandbox Code Playgroud)
推荐哪种方式?是否有何时使用其中一种?
[更新]似乎有一个共识支持选项对象,所以我想添加一个注释:在我的案例中我试图使用参数列表的一个原因是有一个与JavaScript一致的行为内置于array.map方法.