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 模拟气泡屏保效果代码
Jul 10 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
Dec 19 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
JavaScript中连接操作Oracle数据库实例
Apr 02 Javascript
jQuery关键词说明插件cluetip使用指南
Apr 21 Javascript
JS模拟键盘打字效果的方法
Aug 05 Javascript
jquery使用ul模拟select实现表单美化的方法
Aug 18 Javascript
基于jQuery Tipso插件实现消息提示框特效
Mar 16 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
ES6中新增的Object.assign()方法详解
Sep 22 Javascript
Vue官网todoMVC示例代码
Jan 29 Javascript
微信小程序通过保存图片分享到朋友圈功能
May 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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
python程序控制NAO机器人行走
2019/04/29 Python
python实现KNN分类算法
2019/10/16 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
python代码能做成软件吗
2020/07/24 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
给女朋友的道歉信
2014/01/10 职场文书
大学自主招生推荐信
2014/05/10 职场文书
先进单位事迹材料
2014/12/25 职场文书
个人德育工作总结
2015/03/05 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
付款证明模板
2015/06/19 职场文书
酒店宣传语大全
2015/07/13 职场文书
商务宴会祝酒词
2015/08/11 职场文书
社区服务理念口号
2015/12/25 职场文书
高中生物教学反思
2016/02/20 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle