javascript可以用arguments定义参数组。
一、简单的定义参数默认值
function test1(a,b){ //如果有参数一,则返回参数一,如果没有返回默认值"这是参数一" var a = typeof(arguments[0])!=="undefined"?arguments[0]:'这是参数一'; //如果有参数二,则返回参数为,如果没有返回默认值"这是参数二" var b = typeof(arguments[1])!=="undefined"?arguments[1]:'这是参数二'; return a+','+b; }
test1()允许接受0个、1个、2个的参数,如test1(),结果是"这是参数一,这是参数二";
如test1(1),结果是"1,这是参数二";如test(1,2),结果是"1,2"
二、如果想第一个参数为默认值,从第二个参数开始,该怎么实现 ?
function test2(b,c){ //设置参数一的默认值 var a='这是参数一'; if(arguments.length == 3){ var a = arguments[0]; var b = arguments[1]; var c = arguments[2]; } return a+','+b+','+c; }
test()允许接受2个、3个的参数,如果参数只有两个的话,test(2,3),参数一返回默认值,结果是"这是参数一,2,3";如果参数有三个的话,test(1,2,3),由于参数一定义了新值,所以结果是"1,2,3"