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框架veryide.librar源代码
Mar 05 Javascript
javascript 节点排序 2
Jan 31 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
js中json处理总结之JSON.parse
Oct 14 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
Oct 25 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
Nov 07 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
Mint UI 基于 Vue.js 移动端组件库
Nov 07 Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
angular4应用中输入的最小值和最大值的方法
May 17 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
Jun 19 Javascript
vue data引入本地图片的两种方式小结
Nov 13 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中日期加减法运算实现代码
2011/12/08 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
通过javascript把图片转化为字符画
2013/10/24 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
python提取内容关键词的方法
2015/03/16 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
python批量图片处理简单示例
2019/08/06 Python
python类的实例化问题解决
2019/08/31 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
nohup的用法
2012/11/26 面试题
教师演讲稿范文
2014/01/08 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
信访维稳工作汇报
2014/10/27 职场文书
个人合作协议范本
2015/08/06 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
2019军训心得体会
2019/06/27 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
详解Python魔法方法之描述符类
2021/05/26 Python