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 相关文章推荐
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
使用JavaScript库还是自己写代码?
Jan 28 Javascript
jQuery实现html表格动态添加新行的方法
May 28 Javascript
jquery彩色投票进度条简单实例演示
Jul 23 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
Jan 04 Javascript
js浏览器html5表单验证
Oct 17 Javascript
js按条件生成随机json:randomjson实现方法
Apr 07 Javascript
微信小程序中页面FOR循环和嵌套循环
Jun 21 Javascript
详解javascript设计模式三:代理模式
Mar 25 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
May 09 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
Aug 10 Javascript
vue项目实现分页效果
Mar 24 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
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
基于jquery实现放大镜效果
2015/08/17 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
python shell根据ip获取主机名代码示例
2017/11/25 Python
分析Python读取文件时的路径问题
2018/02/11 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
pycharm安装和首次使用教程
2018/08/27 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
python__name__原理及用法详解
2019/11/02 Python
python批量修改交换机密码的示例
2020/09/22 Python
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
万年牢教学反思
2014/02/15 职场文书
交通安全寄语大全
2014/04/08 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
骨干教师个人总结
2015/02/11 职场文书
岗位职责范本大全
2015/02/26 职场文书
员工离职通知函
2015/04/25 职场文书
计划生育责任书
2015/05/09 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
Python字典和列表性能之间的比较
2021/06/07 Python
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis
MySQL数据库表约束讲解
2022/06/21 MySQL