Javascript中设置默认参数值示例

时间:2021-11-11 12:02:29

第一种:

?
1
2
3
4
5
6
7
function test(a,b){
 
var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1
 
var b = arguments[1] ? arguments[1] : 9;//设置参数b的默认值为9
 
return a+b;

其等价为

?
1
2
3
4
5
6
7
8
9
function test(){
 
var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1
 
var b = arguments[1] ? arguments[1] : 9;//设置参数b的默认值为9
 
return a+b;
 
}

调用示例

?
1
2
3
4
5
6
7
8
9
alert(test()); //输出10
 
alert(test(5)); //输出14
 
alert(test(5,6)); //输出11
 
alert(test(null,6)); //输出7
 
alert(test(6,null)); //输出15

第二种:

?
1
2
3
4
5
6
7
8
9
function test(blog,address){
 
blog=blog||'淡忘~浅思';
 
address=address||'www.zzvips.com';
 
alert('博客名是'+blog+'的地址是'+address);
 
}

其等价为

?
1
2
3
4
5
6
7
8
9
function test(blog,address){
 
if(!blog){blog='淡忘~浅思';}
 
if(!address){address='www.zzvips.com';}
 
alert('博客名是'+blog+'的地址是'+address);
 
}

调用示例

?
1
2
3
4
5
test(); //博客名是淡忘~浅思的地址是www.zzvips.com
 
test('csdn','blog.csdn.net'); //博客名是csdn的地址是blog.csdn.net
 
test('','blog.csdn.net/u011043843'); //博客名是淡忘~浅思

第三种:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function test(setting){
 
var defaultSetting={
 
name:'程序爱好者',
 
age:'1',
 
phone:'15602277510',
 
QQ:'259280570',
 
message:'欢迎你的加入'
 
};
 
$.extend(defaultSetting,setting);
 
var msg='姓名:'+defaultSetting.name
 
+',年龄:'+defaultSetting.age
 
+',电话:'+defaultSetting.phone
 
+',QQ群:'+defaultSetting.QQ
 
+',说明:'+defaultSetting.message
 
+'。';
alert(msg);
}

调用示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
test(); //输出:姓名:程序爱好者,年龄:1,电话:15602277510,QQ群:259280570,说明:欢迎你的加入。
 
test({
 
name:'dwqs',
 
age:'20',
 
QQ:'461147874',
 
message:'博客:www.zzvips.com'
 
});
 
//输出:姓名:dwqs,年龄:20,电话:15602277510,QQ群:461147874,说明:博客:www.zzvips.com。

ps:函数参数比较多时,可以用此方法。这是JQuery的一种扩展,所以需要引入JQuery。