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