给函数设置默认参数值有以下方法:
在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。
第四种方法,在声明函数的形参上直接指定默认值:
function func (a=1,b=2){
console.log(a+b)
}