JS函数多个参数默认值指定方法分析


Posted in Javascript onNovember 28, 2016

本文实例讲述了JS函数多个参数默认值指定方法。分享给大家供大家参考,具体如下:

函数有一个参数时,以往这样定义(参数为p1):

function mfun(p1){ … }

当需要为p1设定一个默认值时

function mfun(p1){
if(p1===undefined) p1=5; //默认值设为5
…
}

当函数需要2个参数时,以前习惯这样写

function mfun(p1,p2){…}

后来发现完全不需要这样写,js函数甚至不需要在括弧内预设参数名,可以用一下方式传入任意多个参数自动适配,当没有被定义时,这些未被赋值参数被调用时值为 undefined

以下例子示范了一个2个参数的js函数

function mFun(){
 var p1 = arguments[0] ? arguments[0] : -1; //设置参数p1默认值为-1
 var p2 = arguments[1] ? arguments[1] : ‘ABC'; //p2默认值 ‘ABC'
…
}

以下是一些错误示范:

需要2参数,第二个为可选参数时定义

function mFun(p1){...}
function mFun(p1,p2){...}

*这种写法,mFun(p1)会被下面的函数覆盖掉,当只传入一个参数时,p2会提示undefined

funciton mfun(p1,p2='xxx'){...}

这是php习惯.. =___=b..

再看一个例子:

function simue (){
 var a = arguments[0] ? arguments[0] : 1;
 var b = arguments[1] ? arguments[1] : 2;
 return a+b;
}
alert( simue() ); //输出3
alert( simue(10) ); //输出12
alert( simue(10,20) ); //输出30

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
js判断设备是否为PC并调整图片大小
Feb 12 Javascript
jquery幻灯片插件bxslider样式改进实例
Oct 15 Javascript
JavaScript中的操作符类型转换示例总结
May 30 Javascript
ie下js不执行的几种可能
Feb 28 Javascript
Angularjs中ng-repeat的简单实例
Aug 25 Javascript
详解vue移动端项目的适配(以mint-ui为例)
Aug 17 Javascript
nuxt.js中间件实现拦截权限判断的方法
Nov 21 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
Feb 13 Javascript
elementUI 动态生成几行几列的方法示例
Jul 11 Javascript
浅谈Vue为什么不能检测数组变动
Oct 14 Javascript
详解如何修改 node_modules 里的文件
May 22 Javascript
ajax级联菜单实现方法实例分析
Nov 28 #Javascript
jQuery select自动选中功能实现方法分析
Nov 28 #Javascript
JS两种类型的表单提交方法实例分析
Nov 28 #Javascript
简单实现JavaScript图片切换效果
Nov 28 #Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
Nov 28 #Javascript
JS调用打印机功能简单示例
Nov 28 #Javascript
完全深入学习Bootstrap表单
Nov 28 #Javascript
You might like
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
JS模拟多线程
2007/02/07 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
python实现定时同步本机与北京时间的方法
2015/03/24 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
Python魔法方法详解
2019/02/13 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
Python操作Excel的学习笔记
2021/02/18 Python
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
2014升学宴答谢词
2014/01/26 职场文书
中学教师请假制度
2014/02/03 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
车辆年检委托书范本
2014/10/14 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
高三化学教学反思
2016/02/22 职场文书