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 相关文章推荐
又一个小巧的图片预加载类
May 05 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
探讨js字符串数组拼接的性能问题
Oct 11 Javascript
javascript制作游戏开发碰撞检测的封装代码
Mar 31 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
js只执行1次的函数示例
Jul 20 Javascript
微信小程序 教程之事件
Oct 18 Javascript
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
vue中的mvvm模式讲解
Jan 31 Javascript
JavaScript封闭函数及常用内置对象示例
May 13 Javascript
Vue.js中该如何自己维护路由跳转记录
May 19 Javascript
浅谈layer弹出层按钮颜色修改方法
Sep 11 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
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
Js nodeType 属性全面解析
2013/11/14 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
vue中component组件的props使用详解
2017/09/04 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
Python实用日期时间处理方法汇总
2015/05/09 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
Python序列化pickle模块使用详解
2020/03/05 Python
详解python中的异常捕获
2020/12/15 Python
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
关于中国梦的演讲稿
2014/04/23 职场文书
奖学金个人总结
2015/03/04 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers