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-2025 CODEPRJ.COM