js中对函数设置默认参数值的3种方法


Posted in Javascript onOctober 23, 2015

在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的扩展:

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); 
}

调用示例:

example({ 
  name:'小红', 
  sex:'女', 
  phone:'100866' 
}); 
//输出:姓名:小红,性别:女,年龄:30,电话:100866,QQ:100866。

以上这三种方法大家学会了吗,这三种方法各有优缺点,大家具体情况具体分析,选择最适合的方法进行学习。

Javascript 相关文章推荐
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 Javascript
详解Vue.use自定义自己的全局组件
Jun 14 Javascript
ES6中的Promise代码详解
Oct 09 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
在vscode中统一vue编码风格的方法
Feb 22 Javascript
小试SVG之新手小白入门教程
Jan 08 Javascript
使用p5.js临摹动态图形
Oct 23 Javascript
js实现左右轮播图
Jan 09 Javascript
react实现复选框全选和反选组件效果
Aug 25 Javascript
js窗口关闭提示信息(兼容IE和firefox)
Oct 23 #Javascript
javascript跨域的方法汇总
Oct 23 #Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
Oct 23 #Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
Oct 23 #Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 #Javascript
深入浅析javascript立即执行函数
Oct 23 #Javascript
js判断手机号运营商的方法
Oct 23 #Javascript
You might like
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
php检测文件编码的方法示例
2014/04/25 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
jquery简单体验
2007/01/10 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
JSONP跨域请求
2017/03/02 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
使用Python3制作TCP端口扫描器
2017/04/17 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
python用match()函数爬数据方法详解
2019/07/23 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
中文教师求职信
2014/02/22 职场文书
网络技术专业求职信
2014/05/02 职场文书
作文评语集锦
2014/12/25 职场文书
文艺晚会开场白
2015/05/29 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
浅谈redis整数集为什么不能降级
2021/07/25 Redis