在javascript中如何为函数设置默认参数值,下面提供几种方法供大家参考。
第一种方法:
function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2 return a+b; } 注意以上函数也可写作如下:
function example(){ var a = arguments[0] ? arguments[0] : 1;//设置第一个参数的默认值为1 var b = arguments[1] ? arguments[1] : 2;//设置第二个参数的默认值为2 return a+b; } 调用示例:
alert( example() ); //输出3 alert( example(10) ); //输出12 alert( example(10,20) ); //输出30 alert( example(null,20) ); //输出20
第二种方法:
function example(name,age){ name=name||"貂蝉"; age=age||21; alert("你好!我是"+name+",今年"+age+"岁。"); } 该函数也可以写作如下:
function example(name,age){ if(!name){name="貂蝉";} if(!age){age=21;} alert("你好!我是"+name+",今年"+age+"岁。"); } 调用示例:
example("王五");//输出:你好!我是王五,今年21岁。example("王五",30);//输出:你好!我是王五,今年30岁。example(null,30);//输出:你好!我是貂蝉,今年30岁。
第三种方法,这种方法适合用于参数较多的情况,使用了Jquery的扩展:
function example(setting){ var defaultSetting={ name:"小红", age:"30", sex:"女", phone:"100866", QQ:"100866", birthday:"1949.10.01" }; $.extend(defaultSetting,settings); var message="姓名:"+defaultSetting.name +",性别:"+defaultSetting.sex +",年龄:"+defaultSetting.age +",电话:"+defaultSetting.phone +",QQ:"+defaultSetting.QQ +",生日:"+defaultSetting.birthday +"。"; alert(message); } 调用示例:
example({ name:"小红", sex:"女", phone:"100866" }); //输出:姓名:小红,性别:女,年龄:30,电话:100866,QQ:100866。 以上这三种方法大家学会了吗,这三种方法各有优缺点,大家具体情况具体分析,选择最适合的方法进行学习。