js中對函數設置默認參數值的3種方法


在javascript中如何為函數設置默認參數值,下面提供幾種方法供大家參考。
第一種方法:

?
1
2
3
4
5
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;
}

注意以上函數也可寫作如下:

?
1
2
3
4
5
function example(){
   var a = arguments[0] ? arguments[0] : 1; //設置第一個參數的默認值為1
   var b = arguments[1] ? arguments[1] : 2; //設置第二個參數的默認值為2
   return a+b;
}

調用示例:

?
1
2
3
4
alert( example() ); //輸出3
alert( example(10) ); //輸出12
alert( example(10,20) ); //輸出30
alert( example(null,20) ); //輸出20

第二種方法:

?
1
2
3
4
5
function example(name,age){
   name=name|| '貂蟬' ;
   age=age||21;
   alert( '你好!我是' +name+ ',今年' +age+ '歲。' );
}

該函數也可以寫作如下:

?
1
2
3
4
5
function example(name,age){
   if (!name){name= '貂蟬' ;}
   if (!age){age=21;}
   alert( '你好!我是' +name+ ',今年' +age+ '歲。' );
}

調用示例:

?
1
2
3
example('王五');//輸出:你好!我是王五,今年21歲。 
example('王五',30);//輸出:你好!我是王五,今年30歲。 
example(null,30);//輸出:你好!我是貂蟬,今年30歲。

第三種方法,這種方法適合用於參數較多的情況,使用了Jquery的擴展:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
}

調用示例:

?
1
2
3
4
5
6
example({
   name:'小紅',
   sex:'女',
   phone:'100866'
});
//輸出:姓名:小紅,性別:女,年齡:30,電話:100866,QQ:100866。

以上這三種方法大家學會了嗎,這三種方法各有優缺點,大家具體情況具體分析,選擇最適合的方法進行學習。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM