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 相关文章推荐
js实现Select列表各项上移和下移的方法
Aug 14 Javascript
JavaScript基于原型链的继承
Jun 22 Javascript
微信小程序 tabs选项卡效果的实现
Jan 05 Javascript
vue-router跳转页面的方法
Feb 09 Javascript
微信小程序开发之入门实例教程篇
Mar 07 Javascript
微信小程序 蓝牙的实现实例代码
Jun 27 Javascript
Node中使用ES6语法的基础教程
Jan 05 Javascript
vue中mint-ui的使用方法
Apr 04 Javascript
微信小程序实现多行文字超出部分省略号显示功能
Oct 23 Javascript
使用vue重构资讯页面的实例代码解析
Nov 26 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
Vue Mint UI mt-swipe的使用方式
Jun 05 Vue.js
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抓即时股票信息
2006/10/09 PHP
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python用模块pytz来转换时区
2016/08/19 Python
Python查询IP地址归属完整代码
2017/06/21 Python
关于Django外键赋值问题详解
2017/08/13 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
pycharm进入时每次都是insert模式的解决方式
2021/02/05 Python
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
校运动会广播稿300字
2014/10/07 职场文书
雷锋的故事观后感
2015/06/10 职场文书
民政局未婚证明
2015/06/15 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python