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 相关文章推荐
Javascript 去除数组的重复元素
May 04 Javascript
js仿百度有啊通栏展示效果实现代码
May 28 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
实现音乐播放器的代码(html5+css3+jquery)
Aug 04 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
Oct 20 Javascript
学习JavaScript设计模式(代理模式)
Dec 03 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
May 31 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
jQuery+ajax的资源回收处理机制分析
Jan 07 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
react用Redux中央仓库实现一个todolist
Sep 29 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/01 PHP
php组合排序简单实现方法
2016/10/15 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
php修改数组键名的方法示例
2017/04/15 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
详解js中==与===的区别
2017/01/08 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
经典c++面试题二
2015/08/14 面试题
职业规划书如何设计?
2014/01/09 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python