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中的ajax方法怎样通过JSONP进行远程调用
May 04 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
May 06 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
Feb 15 Javascript
用Vue.js实现监听属性的变化
Nov 17 Javascript
微信小程序实现多个按钮toggle功能的实例
Jun 13 Javascript
微信小程序 input输入及动态设置按钮的实现
Oct 27 Javascript
javascript函数的节流[throttle]与防抖[debounce]
Nov 15 Javascript
详解ES6通过WeakMap解决内存泄漏问题
Mar 09 Javascript
vue router的基本使用和配置教程
Nov 05 Javascript
用Angular实现一个扫雷的游戏示例
May 15 Javascript
vue切换菜单取消未完成接口请求的案例
Nov 13 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
yii操作cookie实例简介
2014/07/09 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
Laravel实现表单提交
2017/05/07 PHP
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
js Dialog 实践分享
2012/10/22 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
Python运算符重载用法实例分析
2015/06/01 Python
Python单链表简单实现代码
2016/04/27 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
2019/08/09 Python
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
宿舍保安职务说明书
2014/02/25 职场文书
学校师德师风整改方案
2014/10/28 职场文书
小班下学期个人总结
2015/02/12 职场文书
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技