为javascript设置默认参数值

时间:2023-03-10 06:24:01
为javascript设置默认参数值

javascript(js)中如何为函数设置默认参数值,下面提供几种方法供参考。

第一种方法:

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:'13611876347',
QQ:'10086',
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:'10089'
});
//输出:姓名:王昭君,性别:女,年龄:30,电话:10089,QQ:10086,生日:1949.10.01。