js中對函式設定預設引數值的3種方法
阿新 • • 發佈:2019-02-05
第一種方法:
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。