给函数设置默认参数值有以下方法:
在 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+'岁.');
}
第三种方法,这种方法适合用于参数较多的情况,使用了 Jquery 的扩展:
example('王五');//输出:你好!我是王五,今年21岁.
example('王五',30);//输出:你好!我是王五,今年30岁.
example(null,30);//输出:你好!我是貂蝉,今年30岁.
调用示例:
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);
}
第四种方法,在声明函数的形参上直接指定默认值:function func (a=1,b=2){console.log(a+b)}
example({ name: '小红',
sex: '女',
phone: '100866'
});
//输出:姓名:小红,性别:女,年龄:30,电话:100866,QQ:100866.
来源: http://www.bubuko.com/infodetail-2462992.html