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