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 相关文章推荐
用javascript控制iframe滚动的代码
Apr 10 Javascript
关于this和self的使用说明
Aug 01 Javascript
js日历功能对象
Jan 12 Javascript
关于div自适应高度/左右高度自适应一致的js代码
Mar 22 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
Jan 25 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
jQuery实现个性翻牌效果导航菜单的方法
Mar 09 Javascript
JS实现窗口加载时模拟鼠标移动的方法
Jun 03 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
微信端开发--登录小程序步骤
Jan 11 Javascript
javascript数据结构中栈的应用之符号平衡问题
Apr 11 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的基本语法以及目录结构
2014/08/04 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
javascript数组的扩展实现代码集合
2008/06/01 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
解决python3爬虫无法显示中文的问题
2018/04/12 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
党员公开承诺事项
2014/03/25 职场文书
综治目标管理责任书
2015/05/11 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技