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。 |
以上这三种方法大家学会了吗,这三种方法各有优缺点,大家具体情况具体分析,选择最适合的方法进行学习。