Javascript中如何为函数设置默认参数值(js设置参数默认值)

 
更多

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

注意:以下的第一种方法和第二种方法都是不严谨的,当传入的参数是0或false并且有意义的时候,会被默认值给替换了,所以正确的判断方法应该是:

function example(a, b) {
    if (typeof a == 'undefined') {
        a = 1;//设置参数a的默认值为1
    }

    if (typeof b == 'undefined') {
        b = 2;//设置参数b的默认值为2
    }
    
    return a + b;
}

第一种方法

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。
打赏

本文固定链接: https://www.cxy163.net/archives/3038 | 绝缘体

该日志由 绝缘体.. 于 2023年12月07日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Javascript中如何为函数设置默认参数值(js设置参数默认值) | 绝缘体
关键字: , , , ,

Javascript中如何为函数设置默认参数值(js设置参数默认值):等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter