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的文字自动截取(提供源代码)
Aug 09 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
Oct 11 Javascript
JavaScript截断字符串的方法
Jul 15 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
socket.io实现在线群聊功能
Apr 07 Javascript
Angular2关于@angular/cli默认端口号配置的问题
Jul 15 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
Jul 26 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
JQuery animate动画应用示例
May 14 jQuery
微信小程序获取用户信息及手机号(后端TP5.0)
Sep 12 Javascript
vue项目中定义全局变量、函数的几种方法
Nov 08 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
Jul 31 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
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
jquery 表单进行客户端验证demo
2009/08/24 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
javascript 解决浏览器不支持的问题
2016/09/24 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python 列表理解及使用方法
2017/10/27 Python
Python内建模块struct实例详解
2018/02/02 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
爱心倡议书范文
2014/05/12 职场文书
护理专业自荐书
2014/06/04 职场文书
如何写早恋检讨书
2014/09/10 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技