在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+'岁。');
}
调用示例:
example('王五');//输出:你好!我是王五,今年21岁。
example('王五',30);//输出:你好!我是王五,今年30岁。
example(null,30);//输出:你好!我是貂蝉,今年30岁。
第三种方法,这种方法适合用于参数较多的情况,使用了Jquery的扩展:
unction 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);
}
调用示例:
example({
name:'小红',
sex:'女',
phone:'100866'
});
//输出:姓名:小红,性别:女,年龄:30,电话:100866,QQ:100866。
以上这三种方法大家学会了吗,这三种方法各有优缺点,大家具体情况具体分析,选择最适合的方法进行学习。
本文摘抄于《js中对函数设置默认参数值的3种方法》
暂无评论...
随机推荐
视频分辨率缩放适配
前言简单记录一下视频适配屏幕显示问题。正文由于视频存在各种的分辨率,屏幕显示区域是固定的,比如:private final int SCREEN_WIDTH = 1024, SCREEN_HEIGHT = 600;客户的视频分辨率存在千奇百怪的,又大有小,如果客户没有要求,一般是视频铺...
席慕容:发出声音永远是有用的
有一年,我应邀到一所中学演讲。中国北方的农村,露天操场,围坐着几千名学生,他们穿着翠蓝色校服,脸蛋呈现出一种深紫的玫瑰红色。冬天,很冷。我从不曾在这样冷的地方讲过这么多的话。虽然我以前在西藏呆过,经历过零下40摄氏度的严寒,但那时军人们急匆匆像木偶一般赶路,缄口不语,说话会让周身的热量非常快地流失...
李娟:冬天的牛
我端着满满一纸箱子垃圾,向马路尽头的垃圾堆走去。半路上,路过的一头牛看了我一眼,然后立刻两眼发光──当时我还以为是错觉,也没管那么多,继续往前走。那牛则从栏杆那边绕过来,寸步不离跟着我,而且愈发加快了速度,想超过我。真是奇怪。远远地,马路南边又有两头牛几乎在同一时间发现了我,也争先恐后跑来了。我扭...
Android中UID简介
前言记录一下Android 中UID的相关知识。记录一下,方便自己后续查阅。正文什么是UIDUID就是User ID。Android权限基于Linux,UID也是继承于Linux。每个程序都有一个UID,默认情况下,程序A和程序B的UID是不同的。当然,通过配置sharedUserI...
Android中判断Service是否启动了
前言偶然需要使用,记录于此。好记性不如烂笔头正文使用getRunningServices获取运行的服务有时候需要盘服务是否启动,如果没有启动就需要拉起来PS:SERVICE_PACKAGENAME和SERVICE_NAME分别是定义的包名和服务包名,这里省略。 /** ...
解决java.io.File android.content.Context.getDatabasePath(java.lang.String)
前言首先,这个问题有点神奇。比如,出现问题的原因:new.SQLiteOpenHelper()时,Context不能是Application的Context如果传入Application,会java.io.File android.content.Context.getDatabasePat...