当一个函数需要多个参数的时候,对调用函数的程序员来说,记住正确的参数传递顺序就变得困难了。为了免去程序员在每次使用函数的时候都要查阅文档的麻烦,允许参数按照任意顺序以名字/值对的方式来传递,这是个好办法。为了实现这种类型的方法调用,把函数定义为期待一个对象作为其参数,然后,让函数的用户传递一个定义了所需的名字/值对的对象直接量。
下面的代码给出了一个例子,并且展示了这种类型的函数调用允许函数为任何忽略的参数指定默认值:
function arraycopy(from,from_start,to,to_start,length){
//codes goes here
}
function easycopy(args){
arraycopy(args.from,args.from_start||0,args.to,args.to_start||0,args.length);
}
var a=[1,2,3,4];
var b=new Array(4);
easycopy({from:a,to:b,length:4});