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 脚本的加载与执行
Apr 19 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
Jan 19 Javascript
JS实现根据出生年月计算年龄
Jan 10 Javascript
JavaScript实现把数字转换成中文
Jun 29 Javascript
JavaScript的面向对象编程基础
Aug 13 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 Javascript
浅谈es6 javascript的map数据结构
Dec 14 Javascript
使用typescript开发angular模块并发布npm包
Apr 19 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
May 03 Javascript
详解webpack2异步加载套路
Sep 14 Javascript
ng-zorro-antd 入门初体验
Dec 03 Javascript
微信小程序自定义支持图片的弹窗
Dec 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
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
PHP实现文件上传与下载
2020/08/28 PHP
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
python的keyword模块用法实例分析
2015/06/30 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
Python2与Python3的区别实例总结
2019/04/17 Python
python输出带颜色字体实例方法
2019/09/01 Python
Python中内建模块collections如何使用
2020/05/27 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
Foreo国际站:Foreo International
2018/10/29 全球购物
安全协议书范本
2014/04/21 职场文书
卖车协议书
2014/04/21 职场文书
大三学习计划书范文
2014/05/02 职场文书
师德演讲稿范文
2014/05/06 职场文书
五一劳动节慰问信
2015/02/14 职场文书
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL