在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。
以上這三種方法大家學會了嗎,這三種方法各有優缺點,大家具體情況具體分析,選擇最適合的方法進行學習。