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 相关文章推荐
lyhucSelect基于Jquery的Select数据联动插件
Mar 29 Javascript
jQuery操作select的实例代码
Jun 14 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
通用javascript代码判断版本号是否在版本范围之间
Nov 29 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
Feb 29 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 Javascript
详解Javascript函数声明与递归调用
Oct 22 Javascript
关于javascript作用域的常见面试题分享
Jun 18 Javascript
JS实现简单拖拽效果
Jun 21 Javascript
jquery.validate表单验证插件使用详解
Jun 21 jQuery
vue的状态管理模式vuex
Nov 30 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
Jan 24 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 set_time_limit()函数的使用详解
2013/06/05 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
javascript 全等号运算符使用说明
2010/05/31 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
Python3进制之间的转换代码实例
2019/08/24 Python
python同时遍历两个list用法说明
2020/05/02 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
金智子午JAVA面试题
2015/09/04 面试题
机械设计及其自动化专业推荐信
2013/10/31 职场文书
大学生入党思想汇报
2014/01/01 职场文书
高中生自我评语大全
2014/01/19 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
作文批改评语
2014/12/25 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
酒会开场白大全
2015/06/01 职场文书
php实现自动生成验证码的实例讲解
2021/11/17 PHP