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