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 相关文章推荐
JS和函数式语言的三特性
Mar 05 Javascript
使用console进行性能测试
Apr 27 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
Dec 04 Javascript
json格式数据的添加,删除及排序方法
Jan 21 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
Dec 12 Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 Javascript
Vue form 表单提交+ajax异步请求+分页效果
Apr 22 Javascript
详解cordova打包成webapp的方法
Oct 18 Javascript
微信小程序自定义导航教程(兼容各种手机)
Dec 12 Javascript
微信小程序实现横向滚动导航栏效果
Dec 12 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 Javascript
关于Js中new操作符的作用详解
Feb 21 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为SHOPEX增加日志功能代码
2010/07/02 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
js loading加载效果实现代码
2009/11/24 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
js中eval详解
2012/03/30 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
python plotly绘制直方图实例详解
2019/07/22 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
python pycharm的安装及其使用
2019/10/11 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
大学生职业生涯规划方案
2014/01/03 职场文书
个人自我评价和职业目标
2014/01/24 职场文书
单位委托函范文
2015/01/29 职场文书
幼师辞职信范文
2015/02/27 职场文书
公司表扬稿范文
2015/05/05 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
早恋主题班会
2015/08/14 职场文书
python如何正确使用yield
2021/05/21 Python
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫