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 相关文章推荐
jquery获取css中的选择器(实例讲解)
Dec 02 Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
Dec 05 Javascript
JS弹出新窗口被拦截的解决方法
Aug 09 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 Javascript
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
jquery获取transform里的值实现方法
Dec 12 jQuery
vue获取dom元素注意事项
Dec 28 Javascript
详解vue添加删除元素的方法
Jun 30 Javascript
详解如何理解vue的key属性
Apr 14 Javascript
Vue.js下拉菜单组件使用方法详解
Oct 19 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
Nov 10 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
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
php不用正则验证真假身份证
2013/11/06 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python内存管理分析
2015/04/08 Python
python九九乘法表的实例
2017/09/26 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
Python-opencv 双线性插值实例
2020/01/17 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
初中语文教学反思
2014/02/02 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
Python中的变量与常量
2021/11/11 Python
MySQL中一条update语句是如何执行的
2022/03/16 MySQL